Get Transaction Status

This API fetches the status of the actions for objects involved in a transaction. This support is available for all object-level actions like Enable, Disable, etc. Transaction ID received from the response of these APIs can be sent as input to get the status.

Request Structure

Endpoint: /adc-get-transaction-status
Type: POST
Sample URL: https://<IP/HostName/TenantName>:<GWPORT>/avxapi/adc-get-transaction-status?gwsource=external

To understand the elements of the sample URL, click here.

Headers:
Content-Type: application/json
Table 1. Input Parameter
Name Description
sessionId

Header

(Mandatory) Specifies the session ID of the user session received after login.

Type: String

Constraints: The session ID is used when username and password are not provided.

username

Header

(Mandatory) Specifies the login username used to access the AppViewX.

Type: String

Constraints: The username, along with the password, is used when the session ID is not provided.

password

Header

(Mandatory) Specifies the login password used to access the AppViewX.

Type: String

Constraints: The password, along with the username, is used when the session ID is not provided.

Content-Type

Header

(Mandatory) Specifies the format of the data in the payload.

Type: String

Constraints: The value of this param must be ‘application/json’.

gwsource

Query

(Mandatory) Specifies the source from which the request is triggered. The options are:
  • web
  • external
Type: String
payload

Body

(Mandatory) Contains all the params to be sent in the request body for the post request. See Payload section for more details.

Payload

Name Description
transactionId

String

(Mandatory) Transaction ID of action triggered. It can be found in the response of the action APIs under the tags field in the name ‘transactionId’.
Status

String

(Optional) Transaction Status to be searched.
Objects

Array

(Optional) Transaction status of objects to be searched.
deviceNames

Array

(Optional) Transaction status of the device to be searched.

Response Structure

  • Status Code: 200 OK
  • Message: Successful
  • Headers:
    • Content-Type: application/json
Name Description
response

String

Contains the requested pool objects and pool members.
message

String

Failure description in case of error.
appStatusCode

String

Application specific status code for the response. Will be non-null for failure response.
tags

String

More info in case of failure response.

Status Code

HTTP Status Code appStatusCode Message Possible remediation
200 Ok - Refer to sample response
404 Not Found AVX_GW_009 Resource not found, reason - Invalid apiid
400 avx-common-028 Invalid/ Incorrect payload

Sample Request/Response

Use Case

To fetch the action status of the object/device for the transaction.

Request URL

https://<IP/HostName/TenantName>:<GWPORT>/avxapi/adc-get-transaction-status

Sample Request
 {
    "payload": {
      "transactionId": "external-17631fj9h1",
      "objects": [{
          "objectType": "ltmPoolMember",
          "deviceName": "gs-f5-pe55.apvxlab.com",
          "objectName": "livepool",
         "partition": "Common",
         "recordType": "Common",
         "vendor": "F5"
      }, {
         "objectType": "ltmPoolMember",
         "deviceName": "192.168.31.188",
        "objectName": "livepool",
        "partition": "Common",
        "recordType": "Common",
         "vendor": "F5"
        }]
    }
  }
Sample Response
{
    "response": {
        "transactionId": "external-17631fj9h1",
         "action": "Enable",
         "user": "admin",
         "comments": "action",
         "deviceObjects": [{
               "code": "go",
               "partition": "Common",
               "displayName": "livpool/a/gs-f5-pe55.apvxlab.com/F5",
               "vendor": "F5",
                "logMessage": "Action Disable executed successfully on object livpool/a/gs-f5-pe55.apvxlab.com/F5 by the user admin Reason: perform disable. The action is executed on a Standby device as an Active peer is not identified in AppViewX",
                "objectName": "livpool",
                "objectId": "gp:@5fa5305656aaf54f67a001f7:@livpool:@Common:@a",          
   "status": "success"
             }, {
               "code": "go",
               "partition": "Common",
               "displayName": "livepool/a/192.168.31.188/F5",
                "vendor": "F5",
                "logMessage": "Action Disable executed successfully on object livepool/a/192.168.31.188/F5 by the user admin Reason : perform disable.The action is executed on a Standby device as an Active peer is not identified in AppViewX",
                "objectName": "livepool",
                 "objectId":
"gp:@5fa5305656aaf54f67a002ca:@livpool:@Common:@a",
                 "status": "success"
                  } ],
    "timeStamp": 1606722095762
     }
  }

Reference

Understanding the sample URL:
  • IP/HostName/TenantName: Replace with the actual IP address, hostname, or tenant name based on the specific configuration in AppViewX.
    • IP: A unique identifier assigned to each device connected to a computer network that uses the Internet Protocol for communication

      The IP address will be included in the endpoint URL for an on-prem deployment.

    • HostName: A human-readable label assigned to a device (host) on a network

      The hostname will be included in the endpoint URL for an on-prem deployment.

    • TenantName: An identifier label for a tenant given to indicate which tenant's data the API request will access/modify

      The tenant name will be included in the endpoint URL for a SaaS deployment.

  • GWPORT: AppViewX gateway port

    A gateway port refers to a network port through which data is sent and received to communicate with a gateway in an on-prem deployment.

    Example: 31443

  • avxapi: Path parameter value (static) that is part of the endpoint's URL
  • Endpoint: Endpoint of the API, for example: execute-hook
  • gwsource: Source or origin of a gateway, for example: external.

What's Next