code: protected function callOperationAsync($name, \DTS\eBaySDK\Types\BaseType $request, $responseClass)
      {
          /**
           * Modify the request object to include the auth token that was set up in the configuration.
           */
          if ($this->getConfig('authorization') !== null) {
              /**
               * Don't send requester credentials if oauth authentication needed.
               */
              if (isset($request->RequesterCredentials)) {
                  unset($request->RequesterCredentials);
              }
          } elseif ($this->getConfig('authToken') !== null) {
              /**
               * Don't modify a request if the token already exists.
               */
              if (!isset($request->RequesterCredentials)) {
                  $request->RequesterCredentials = new \DTS\eBaySDK\Trading\Types\CustomSecurityHeaderType();
              }
              if (!isset($request->RequesterCredentials->eBayAuthToken)) {
                  $request->RequesterCredentials->eBayAuthToken = $this->getConfig('authToken');
              }
          }
  
          return parent::callOperationAsync($name, $request, $responseClass);
      }
docs: Sends an API request.
  
  This method overrides the parent so that it can modify
  the request object before it is handled by the parent class.
  
  @param string $name The name of the operation.
  @param \DTS\eBaySDK\Types\BaseType $request Request object containing the request information.
  @param string $responseClass The name of the PHP class that will be created from the XML response.
  
  @return \GuzzleHttp\Promise\PromiseInterface A promise that will be resolved with an object created from the XML response.