Get information about one or more submitted faxes with FaxStatusEx

This sample demonstrates how to retrieve information about a sent fax using the FaxStatusEx method.

<?php
 
/**************** Settings begin **************/
 
$username    = '';    // Enter your Interfax username here
$password    = ''; // Enter your Interfax password here
$last_txid   = '999999999';  // Enter the transaction ID for which data
                             // is to be retrieved, or "999999999" for 
                             // the most recent transaction(s)
$max_items   = '10';   // How many transactions to return information for
 
/**************** Settings end ****************/
 
if($last_txid != '999999999') $last_txid++;  // LastTransaction ID needs to be one higher
                                             // than the transaction be queried for
 
// Retrieve information from InterFAX
 
$client = new SoapClient('https://ws.interfax.net/dfs.asmx?wsdl');
 
$params->Username          = $username;
$params->Password          = $password;
$params->LastTransactionID = $last_txid;
$params->MaxItems          = $max_items;
$params->TotalCount        = '';
$params->ListSize          = '';
$params->ResultCode        = '';
 
$queryResult = $client->FaxStatusEx($params);
 
// print_r($queryResult);
 
// Format information retrieved from InterFAX
 
if (0 == $queryResult->ResultCode){ // status request succeeded
	switch($queryResult->ListSize){
		case 0:
			echo 'No transactions fit query';
			break;
 
		case 1:	// single item returned by WS call
			echo 'ParentTransactionID: ' . $queryResult->FaxStatusExResult->FaxItemEx->ParentTransactionID . '<br />';
			echo 'TransactionID: ' . $queryResult->FaxStatusExResult->FaxItemEx->TransactionID . '<br />';
			echo 'SubmitTime: ' . $queryResult->FaxStatusExResult->FaxItemEx->SubmitTime . '<br />';
			echo 'CompletionTime: ' . $queryResult->FaxStatusExResult->FaxItemEx->PostponeTime . '<br />';
			echo 'CompletionTime: ' . $queryResult->FaxStatusExResult->FaxItemEx->CompletionTime . '<br />';
			echo 'UserID: ' . $queryResult->FaxStatusExResult->FaxItemEx->UserID . '<br />';
			echo 'Contact: ' . $queryResult->FaxStatusExResult->FaxItemEx->Contact . '<br />';
			echo 'DestinationFax: ' . $queryResult->FaxStatusExResult->FaxItemEx->DestinationFax . '<br />';
			echo 'ReplyEmail: ' . $queryResult->FaxStatusExResult->FaxItemEx->ReplyEmail . '<br />';
			echo 'RemoteCSID: ' . $queryResult->FaxStatusExResult->FaxItemEx->RemoteCSID . '<br />';
			echo 'PagesSent: ' . $queryResult->FaxStatusExResult->FaxItemEx->PagesSent . '<br />';
			echo 'Status: ' . $queryResult->FaxStatusExResult->FaxItemEx->Status . '<br />';
			echo 'Duration: ' . $queryResult->FaxStatusExResult->FaxItemEx->Duration . '<br />';
			echo 'Subject: ' . $queryResult->FaxStatusExResult->FaxItemEx->Subject . '<br />';
			echo 'PagesSubmitted: ' . $queryResult->FaxStatusExResult->FaxItemEx->PagesSubmitted . '<br />';
			echo 'SenderCSID: ' . $queryResult->FaxStatusExResult->FaxItemEx->SenderCSID . '<br />';
			echo 'Priority: ' . $queryResult->FaxStatusExResult->FaxItemEx->Priority . '<br />';
			echo 'Units: ' . $queryResult->FaxStatusExResult->FaxItemEx->Units . '<br />';
			echo 'CostPerUnit: ' . $queryResult->FaxStatusExResult->FaxItemEx->CostPerUnit . '<br />';
			echo 'PageSize: ' . $queryResult->FaxStatusExResult->FaxItemEx->PageSize . '<br />';
			echo 'PageOrientation: ' . $queryResult->FaxStatusExResult->FaxItemEx->PageOrientation . '<br />';
			echo 'PageResolution: ' . $queryResult->FaxStatusExResult->FaxItemEx->PageResolution . '<br />';
			echo 'RenderingQuality: ' . $queryResult->FaxStatusExResult->FaxItemEx->RenderingQuality . '<br />';
			echo 'PageHeader: ' . $queryResult->FaxStatusExResult->FaxItemEx->PageHeader . '<br />';
			echo 'RetriesToPerform: ' . $queryResult->FaxStatusExResult->FaxItemEx->RetriesToPerform . '<br />';
			echo 'TrialsPerformed: ' . $queryResult->FaxStatusExResult->FaxItemEx->TrialsPerformed . '<br />';
			break;
 
		default: // multiple items returned by WS call
			for($i = 0; $i < $queryResult->ListSize; $i++){
				echo 'ParentTransactionID: ' . $queryResult->FaxStatusExResult->FaxItemEx[$i]->ParentTransactionID . '<br />';
				echo 'TransactionID: ' . $queryResult->FaxStatusExResult->FaxItemEx[$i]->TransactionID . '<br />';
				echo 'SubmitTime: ' . $queryResult->FaxStatusExResult->FaxItemEx[$i]->SubmitTime . '<br />';
				echo 'CompletionTime: ' . $queryResult->FaxStatusExResult->FaxItemEx[$i]->PostponeTime . '<br />';
				echo 'CompletionTime: ' . $queryResult->FaxStatusExResult->FaxItemEx[$i]->CompletionTime . '<br />';
				echo 'UserID: ' . $queryResult->FaxStatusExResult->FaxItemEx[$i]->UserID . '<br />';
				echo 'Contact: ' . $queryResult->FaxStatusExResult->FaxItemEx[$i]->Contact . '<br />';
				echo 'DestinationFax: ' . $queryResult->FaxStatusExResult->FaxItemEx[$i]->DestinationFax . '<br />';
				echo 'ReplyEmail: ' . $queryResult->FaxStatusExResult->FaxItemEx[$i]->ReplyEmail . '<br />';
				echo 'RemoteCSID: ' . $queryResult->FaxStatusExResult->FaxItemEx[$i]->RemoteCSID . '<br />';
				echo 'PagesSent: ' . $queryResult->FaxStatusExResult->FaxItemEx[$i]->PagesSent . '<br />';
				echo 'Status: ' . $queryResult->FaxStatusExResult->FaxItemEx[$i]->Status . '<br />';
				echo 'Duration: ' . $queryResult->FaxStatusExResult->FaxItemEx[$i]->Duration . '<br />';
				echo 'Subject: ' . $queryResult->FaxStatusExResult->FaxItemEx[$i]->Subject . '<br />';
				echo 'PagesSubmitted: ' . $queryResult->FaxStatusExResult->FaxItemEx[$i]->PagesSubmitted . '<br />';
				echo 'SenderCSID: ' . $queryResult->FaxStatusExResult->FaxItemEx[$i]->SenderCSID . '<br />';
				echo 'Priority: ' . $queryResult->FaxStatusExResult->FaxItemEx[$i]->Priority . '<br />';
				echo 'Units: ' . $queryResult->FaxStatusExResult->FaxItemEx[$i]->Units . '<br />';
				echo 'CostPerUnit: ' . $queryResult->FaxStatusExResult->FaxItemEx[$i]->CostPerUnit . '<br />';
				echo 'PageSize: ' . $queryResult->FaxStatusExResult->FaxItemEx[$i]->PageSize . '<br />';
				echo 'PageOrientation: ' . $queryResult->FaxStatusExResult->FaxItemEx[$i]->PageOrientation . '<br />';
				echo 'PageResolution: ' . $queryResult->FaxStatusExResult->FaxItemEx[$i]->PageResolution . '<br />';
				echo 'RenderingQuality: ' . $queryResult->FaxStatusExResult->FaxItemEx[$i]->RenderingQuality . '<br />';
				echo 'PageHeader: ' . $queryResult->FaxStatusExResult->FaxItemEx[$i]->PageHeader . '<br />';
				echo 'RetriesToPerform: ' . $queryResult->FaxStatusExResult->FaxItemEx[$i]->RetriesToPerform . '<br />';
				echo 'TrialsPerformed: ' . $queryResult->FaxStatusExResult->FaxItemEx[$i]->TrialsPerformed . '<br />';
				echo '------------------------------------<br />';
			}  // close loop
				break;
		}  // close switch
} else { // problem getting status
	// Do something here, like alerting an administrator
	echo 'Problem retrieving status';
}
 
?>