---
schema_version: "1"
id: e19021667651ef59da50113d8a30b7a27f9181c6f1ddb83dca6dbfe484c11130
title: Methods Included with XOMEnhancedSystemInterface
collection: admin
version: current
locale: en-us
portal_url: https://docs.salesforce.com/admin/current/en-us/ind/264-0-0/comms_t_methods_included_with_xomenhancedsysteminterface_235699.md
canonical_url: https://help.salesforce.com/s/articleView?id=ind.comms_t_methods_included_with_xomenhancedsysteminterface_235699.htm&release=264.0.0&type=5
source_site: help.salesforce.com
content_type: documentation
content_hash: 982dc0a269bded22916484f277555d2be8dcf141c1578a220e335566204d2824
description: Order Management comes with the XOMEnhancedSystemInterface adapter. That adapter comes with the methods described here, which you can override to allow custom logic.
products:
  - Industry Solutions
  - Cross Cloud
release: "264"
---
# Methods Included with XOMEnhancedSystemInterface

Order Management comes with the XOMEnhancedSystemInterface adapter. That adapter comes with the methods described here, which you can override to allow custom logic.

- `void executeItem(String url, String path, vlocity_cmt__OrchestrationItem__c item)`
    
    - The entry point for every adapter. It calls `generatePayload()` to prepare the request, and calls `createHTTPRequest()` to create an HTTP request. It sends the payload to the external system, analyzes the incoming response code, and calls `processResponse()` to process the response.
    - Override this method if a different logic is needed.
- `String generatePayload(vlocity_cmt__OrchestrationItem__c item, vlocity_cmt.XOMOrderDomainObject orderObj)`
    
    - Creates a payload.
    - Override this method if a payload has to be generated differently, and existing configuration capabilities are not enough to make that change.
- `HttpRequest createHttpRequest(String url, String path, String requestPayload)`
    
    - Creates an HTTP request.
    - Override this method if a different HTTP method is required (for example, GET), or additional HTTP headers are needed.
- `void processResponse(vlocity_cmt__OrchestrationItem__c item, String url, String path, vlocity_cmt.XOMOrderDomainObject orderObj, HttpResponse res)`
    
    - The entry point to process the response. Applies the **Response Vlocity DataRaptor Bundle** or **Response Items Vlocity DataRaptor Bundle** if they're specified. Otherwise, calls `processResponse(String url, String path, HttpResponse res)`
    - Override this method if custom response processing is required.
- `void processResponse(String url, String path, HttpResponse res)`
    
    - This method executes if neither **Response Vlocity DataRaptor Bundle** nor **Response Items Vlocity DataRaptor Bundle** are specified.
    - Override the method if custom response processing is required.
- Spring '22 release and more recent: `void persistOrchestrationItemLogs(List<vlocity_cmt__OrchestrationItem__c> items)`
    
    ![Note](https://sf-zdocs-cdn-prod.zoominsoftware.com/tdta-ind-order_management-264-0-0-production-enus/c2040b01-aade-4ba7-8a7d-d7cd745d5c8c/images/icon_note.png)
    
    Note
    
    This method requires the org to be using Platform Events mode (which is the default for new installations). See
    
    - Sends the callout's request and response data to the requested location. This method reads the **OrchestrationItemLog** custom setting and acts accordingly. For information about configuring the custom setting, see [OM Standard: Configure Request and Response Storage in Custom Settings](https://help.salesforce.com/s/articleView?id=ind.comms_t_om_standardconfigure_request_and_response_storage_in_custom_settings_240602.htm&release=264.0.0&type=5 "The OrchestrationItemLog custom setting sets whether and where orchestration item requests and responses are stored. To reduce load on the database, you can set the custom setting to \"BigObject\" or \"Off\", or set a different value to store the information somewhere else.").
    - Override the method to send request and response data to a location of your choice. (First, set the **OrchestrationItemLog** custom setting to **Off**.)
        
        For example, if you want to send the data to a debug log, you can use something like the following code:
        
        ```
        global virtual class CustomIntegrationAdapter extends vlocity_cmt.XOMEnhancedSystemInterface{
           
            public override void persistOrchestrationItemLogs(List<vlocity_cmt__OrchestrationItem__c> items)
            {
                for (vlocity_cmt__OrchestrationItem__c item : items){
                    System.debug('REQUEST IS: '+item.vlocity_cmt__Request__c);
                    System.debug('RESPONSE IS: '+item.vlocity_cmt__Response__c);
                }
            }
        }
        ```