src/DataService/DataService.php
public function FindById($entity, $Id = null)
    {
        $this->serviceContext->IppConfiguration->Logger->RequestLog->Log(TraceLevel::Info, "Called Method FindById.");
        if(is_object($entity)){
           $httpsPostBody = $this->executeObjectSerializer($entity, $urlResource);
           // Validate parameter
           if (!$entity || !$entity->Id) {
              $this->serviceContext->IppConfiguration->Logger->RequestLog->Log(TraceLevel::Error, "Argument Null Exception");
              throw new IdsException('Argument Null Exception when calling FindById for Endpoint:' . get_class($entity));
          }
          $this->verifyOperationAccess($entity, __FUNCTION__);
          $entityId = $this->getIDString($entity->Id);
          // Normal case
          $uri = implode(CoreConstants::SLASH_CHAR, array('company', $this->serviceContext->realmId, $urlResource, $entityId));
          // Send request
          return $this->sendRequestParseResponseBodyAndHandleHttpError($entity, $uri, null, DataService::FINDBYID);
        }else if(is_string($entity) && isset($Id)){
          $uri = implode(CoreConstants::SLASH_CHAR, array('company', $this->serviceContext->realmId, strtolower($entity), $Id));
          $requestParameters = new RequestParameters($uri, 'GET', CoreConstants::CONTENTTYPE_APPLICATIONXML, null);
          $restRequestHandler = $this->getRestHandler();
          list($responseCode, $responseBody) = $restRequestHandler->sendRequest($requestParameters, null, null, $this->isThrownExceptionOnError());
          $faultHandler = $restRequestHandler->getFaultHandler();
          //$faultHandler now is true or false
          if ($faultHandler) {
              $this->lastError = $faultHandler;
              return null;
          } else {
              //clean the error
              $this->lastError = false;
              $parsedResponseBody = $this->getResponseSerializer()->Deserialize($responseBody, true);
              return $parsedResponseBody;
          }
        }
    }
public function FindById($entity, $Id = null)
    {
        $this->serviceContext->IppConfiguration->Logger->RequestLog->Log(TraceLevel::Info, "Called Method FindById.");
        if(is_object($entity)){
           $httpsPostBody = $this->executeObjectSerializer($entity, $urlResource);
           // Validate parameter
           if (!$entity || !$entity->Id) {
              $this->serviceContext->IppConfiguration->Logger->RequestLog->Log(TraceLevel::Error, "Argument Null Exception");
              throw new IdsException('Argument Null Exception when calling FindById for Endpoint:' . get_class($entity));
          }
          $this->verifyOperationAccess($entity, __FUNCTION__);
          $entityId = $this->getIDString($entity->Id);
          // Normal case
          $uri = implode(CoreConstants::SLASH_CHAR, array('company', $this->serviceContext->realmId, $urlResource, $entityId));
          // Send request
          return $this->sendRequestParseResponseBodyAndHandleHttpError($entity, $uri, null, DataService::FINDBYID);
        }else if(is_string($entity) && isset($Id)){
          $uri = implode(CoreConstants::SLASH_CHAR, array('company', $this->serviceContext->realmId, strtolower($entity), $Id));
          $requestParameters = new RequestParameters($uri, 'GET', CoreConstants::CONTENTTYPE_APPLICATIONXML, null);
          $restRequestHandler = $this->getRestHandler();
          list($responseCode, $responseBody) = $restRequestHandler->sendRequest($requestParameters, null, null, $this->isThrownExceptionOnError());
          $faultHandler = $restRequestHandler->getFaultHandler();
          //$faultHandler now is true or false
          if ($faultHandler) {
              $this->lastError = $faultHandler;
              return null;
          } else {
              //clean the error
              $this->lastError = false;
              $parsedResponseBody = $this->getResponseSerializer()->Deserialize($responseBody, true);
              return $parsedResponseBody;
          }
        }
    }
The Read request. You can either pass an object that contains the Id that you want to read, or
pass the Entity Name and the Id.
Before v4.0.0, it supports the read of CompanyInfo and Preferences.
After v4.0.0, it DOES NOT support read of CompanyInfo or Preferences. Please use getCompanyInfo() or getCompanyPreferences() method instead.
Only use this one to do READ request with ID.

Developer has two ways to call the GET request. Take Invoice for an example:
1) FindById($invoice);
or
2) FindById("invoice", 1);

@param object|String $entity Entity to Find, or the String Name of the Entity
@return IPPIntuitEntity Returns an entity of specified Id.
@throws IdsException