code: public function fetchShippingLabels($trackingCodes)
      {
          $id     = str_replace('.', '', microtime(true));
          $xml    = new \SimpleXMLElement('<eChannel/>');
  
          $routing = $xml->addChild('ROUTING');
          $routing->addChild('Routing.Account', $this->api_key);
          $routing->addChild('Routing.Id', $id);
          $routing->addChild('Routing.Key', md5("{$this->api_key}{$id}{$this->secret}"));
  
          $label = $xml->addChild('PrintLabel');
          $label['responseFormat'] = 'File';
  
          foreach($trackingCodes as $trackingCode) {
              $label->addChild('TrackingCode', $trackingCode);
          }
  
          $response = $this->doPost('/prinetti/get-shipping-label', null, $xml->asXML());
  
          $response_xml = @simplexml_load_string($response);
  
          if(!$response_xml) {
              throw new \Exception("Failed to load response xml");
          }
  
          $this->response = $response_xml;
  
          if($response_xml->{'response.status'} != 0) {
              throw new \Exception("Error: {$response_xml->{'response.status'}}, {$response_xml->{'response.message'}}");
          }
  
          return $response_xml;
      }
docs: Fetches the shipping labels in one pdf for a given tracking_codes and
  saves it as base64 encoded string inside XML.
  
  @param array $trackingCodes
  @return xml
  @throws \Exception