---
schema_version: "1"
id: a20fc86caf9c9ef5bd13ef8961b06198fad64af6946cd8ca48b56eee8ca71aa2
title: Methods Included with XOMAsyncSystemInterface
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_xomasyncsysteminterface_235535.md
canonical_url: https://help.salesforce.com/s/articleView?id=ind.comms_t_methods_included_with_xomasyncsysteminterface_235535.htm&release=264.0.0&type=5
source_site: help.salesforce.com
content_type: documentation
content_hash: 920c6042a3e74174e2ad992aa59e97594988e3fd00e64cf2ccd2161c9475841b
description: Order Management comes with the XOMAsyncSystemInterface 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 XOMAsyncSystemInterface

Order Management comes with the XOMAsyncSystemInterface 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(OrchestrationItem__c item, String url, String path, 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);
                }
            }
        }
        ```