There are multiple ways of sending a fax using the Softlinx integration options. The SOAP and REST APIs allow for tight programmatic integration with the fax service. When an outbound fax request is made, a unique job ID is returned associated with each recipient (fax number) of the outbound fax. Since there are inherent delays and external factors involved in faxing, the final status of the outbound fax will not be known immediately.
There are two approaches to checking for the final status of an outbound fax request. The first approach relies on polling or querying the system periodically, and the second approach relies on push notification from the system supplemented with occasional polling. Both approaches are explained below:
To handle an error situation where the HTTP listener is down for any reason, occasionally query the system for unmarked outbound failed faxes and mark these faxes. Repeat the query for unmarked sent faxes and mark these faxes. Use a single ReplixFax user ID that has administrative permissions in order to get faxes sent by all users. We recommend that you query the system once every hour. Do not issue queries for each unique ReplixFax user. Your code will need to handle the edge conditions when the query returns a fax ID and you also receive an HTTP post for that fax ID.
There are two approaches to checking when a new fax has arrived. The first approach relies on polling or querying the system periodically, and the second approach relies on push notification from the system supplemented with occasional polling. Both approaches are explained below:
To handle an error situation where the HTTP listener is down for any reason, occasionally query the system for unmarked inbound faxes. Mark these faxes and retrieve their content. Notify the recipient about these faxes. Use a single ReplixFax user ID that has administrative permissions in order to get faxes for all users. We recommend that you query the system once every hour. Do not issue queries for each unique ReplixFax user. Your code will need to handle the edge conditions when the query returns a fax ID and you also receive an HTTP post for that fax ID.