UC_CALLBACK_SETTINGS - REST Callback Request Customization

This Variable (VARA) object allows you to customize the behavior of REST callback request and the content of the payload response.

UC_CALLBACK_SETTINGS is supplied with the system client 0 and can be copied to the relevant clients. If the variable is defined in Client 0, all your Clients use the same configuration. However, you can override the definition in Client 0 by copying the variable to the relevant Client and modifying the configuration. The system first checks if the variable has been defined in the current client. If not, the system checks in Client 0. If neither client has a specific definition, the system uses the default values.

The variable includes the following keys:

CALLBACK_ATTEMPTS

  • Description: Maximum number of callback attempts after the initial try

  • Allowed values:1 (initial try), 2 - N (number of retries after initial try)

  • Default value: 3

  • Restart required: No

CALLBACK_INTERVAL

  • Description: Interval in seconds between callback attempts in case the initial try fails

  • Allowed values:30 - N

  • Default value: 30

  • Restart required: No

CALLBACK_INTERVAL_EXP

  • Description: Allows you to further define how the interval between callback attempts is calculated

  • Allowed values: 0 (constant), 1 (linear), 2 (squared)

    • Constant: the system uses the value defined in the CALLBACK_INTERVAL key as is

    • Linear: the system multiplies the value defined in the CALLBACK_INTERVAL key by the number of failed attempts

      Example

      You have define an interval of 30 seconds and want to use the linear mode.

      If the initial try fails, the first callback attempt takes place after 30 seconds (1 failed attempt * 30 seconds), the second after 60 seconds (2 failed attempts* 30 seconds), and so on.

    • Squared: the system exponentially calculates the interval from the definition of the CALLBACK_INTERVAL key and the number of failed attempts.

      Example

      You have define an interval of 30 seconds and want to use the squared mode.

      If the initial try fails, the first callback attempt takes place after 30 seconds (1 failed attempt: 12 * 30 seconds), the second after 120 seconds (2 failed attempts: 22 * 30 seconds), the third after 270 seconds (3 failed attempts: 32 * 30 seconds), and so on.

  • Default value: 2

  • Restart required: No

ENFORCE_HTTPS

  • Description: Allows you to enforce the HTTPS protocol for callback requests

  • Allowed values: Y (only HTTPS) and N (HTTP and HTTPS)

  • Default value: N

    If this value is set to Y and the callback protocol uses HTTP, the callback is not performed and an error message is written to the log file of the JWP. The callback entry is also displayed in the Tasks list in the Process Monitoring perspective with the status FAULT_OTHER. The Details pane for the respective entry indicates that you have to use HTTPS URLS this REST callback and that the URL specified is not valid.

  • Restart required: No

TEMPLATE_EXECUTION

  • Description: Payload template with placeholders to be replaced before the payload response is sent back to the callback subscriber. By default, the template covers only a minimum set of execution attributes. However, you can customize the payload response to better suit your needs.

    Example

    {
       "runid": "&$RUNID#",
       "object_type": "&$OBJECT_TYPE#",
       "execution_status": "&$EXECUTION_STATUS#",
       "execution_status_text": "&$EXECUTION_STATUS_TEXT#",
       "ae_system": "&$SYSTEM#",
       "client_number": "&$CLIENT#",
       "client_description": "&$CLIENT_DESC#",
       "user_department": "&$USER#/&$DEPARTMENT#",
       "archive_key1": "&$ARCHIVE_KEY1#",
       "last_error_message": "&$LAST_ERROR_MESSAGE#",
       "last_error_code": "&$LAST_ERROR_CODE#",
       "last_error_insert": "&$LAST_ERROR_INSERT#",
       "object_variable1": "&VAR1#",
       "object_variable2": "&VAR2#"
    }

    HTTP 200 Response:

    {
      "runid": "0001005016",
      "object_type": "SCRI",
      "execution_status": "1900",
      "execution_status_text": "ENDED_OK - ended normally",
      "ae_system": "AUTOMIC",
      "client_number": "0100",
      "client_description": "Test client",
      "user_department": "CD/CD",
      "archive_key1": "Category17",
      "last_error_message": "",
      "last_error_code": "00000000",
      "last_error_insert": "",
      "object_variable1": "17842312",
      "object_variable2": "a text value"
    }

    For more information, see Polling and Callback Requests.

    To customize the payload, you can use one or more of the following options:

    • Variables that are valid for any executable object and are consistent throughout the system, see List of System Properties
    • Variables that are specific to an object, see Variables Page
    • Template placeholders that are specific for callbacks:
      • &$EXECUTION_STATUS#

      • &$EXECUTION_STATUS_TEXT#

      • &$LAST_ERROR_MESSAGE#

      • &$LAST_ERROR_CODE#

      • &$LAST_ERROR_INSERT#

  • Restart required: No

See also:

List of VARA Objects for System and Client Values