We have now covered 2 different ways to increase productivity and get more out of your faxing needs.  The final topic for integrating third party software with GFI FAXmaker will be with its APIs.

GFI FAXmaker APIs

There are 2 APIs available through GFI FAXmaker.

  • TextAPI
  • XMLAPI

Each API works by generating a command file into a specific folder.  The difference is the TextAPI and XMLAPI are in different formats and take different parameters.  In each case, you could develop a script or application to create the command file based on the API.  From there GFI FAXmaker will be able to send that file out as a fax.

TextAPI

The TextAPI uses a simple text file with commands provided to tell GFI FAXmaker how and where to send the fax.  Each command is represented with a “::”.  In order for GFI FAXmaker to know who the recipient of the fax is, the first line of the text file will be their fax number.  Anything else outside of the command “::” would represent the contents of the fax.

Here you can see an extremely simple form of the TextAPI format:

In this example, we are sending a fax to ‘5551234’ with the details ‘This is a test fax’.  The TextAPI offers several parameters that can be added to the file for additional details such as, attachments, specifying the line you want to send on, and even who the sender is.  In order for this to actually send out as a fax you need to configure a folder that is scanned by GFI FAXmaker to look for these files.  This is done in the GFI FAXmaker configuration under TextAPI.

Here is an example of how you can automate the TextAPI with another program.

In the two scripts above, we have one script that is designed to create a TextAPI text file to the “C:\Documents and Settings\Administrator\Desktop\Text API\” location.  The values for the fax are hard coded but with some additional programming this could be driven with parameters on the command line or even modified to work with your own application.

You can see the settings that will be written to the file here:

faxNumber = “::5551212”
attachment = “::a=test1.jpg”
sender = “::fr=administrator”
faxBody = “This is a test fax”

If you wanted to change these during your testing, you could simply update this section of the code.  Once the script is run (such as through double-clicking), it will generate the text file and if GFI FAXmaker is configured to the same folder for TextAPI it will attempt to send the fax to the number specified.

The second script is one that you may find helpful if you also need to programmatically follow up on the result of the fax.  For example, if we did not include the “::fr” (sender) command, GFI FAXmaker will leave a status file with the extension ‘.OK’ or ‘.ERROR’.  The fax status script is written to check for this and provide a simple output of the resulting fax.

XMLAPI

The XMLAPI is very similar to the TextAPI in that it is a file with specific parameters that are used by GFI FAXmaker to send a fax. As with the TextAPI, the XML file will also be saved to a folder location on the fax server where GFI FAXmaker is scanning this location to find faxes to send.  The difference is that rather than using colons in the text file, it uses an XML format.  Some of the benefits to the XMLAPI include:

  • Multiple attachments
  • File Paths
  • Unique IDs that can be used to view in the transmission report

The transmission report is a .status file and like the TextAPI will indicate the result of the fax that was sent.  This report can be programmatically handled so if your application can send a fax, it can also read in the report to update your software interface as to what the result of the fax was.

A simple example of what part of your file would look like is the following:

<?xml version="1.0" encoding="utf-8"?>
<faxmakerdata> <recipients>
<fax>
<recipient>
<firstname>Joe</firstname>
<lastname>Bloggs</lastname>
<company>J.B. Ltd.</company>
<department>Marketing</department>
<faxnumber>+1 800 6565</faxnumber>
<voicenumber>555 6564</voicenumber>
<emailaddress>jb@jb.com</emailaddress>
 </recipient>
</fax>
</recipients>
</faxmakerdata>

You can find out more about the Text and XML APIs here: http://www.gfi.com/fax/fax14apimanual.pdf

Sample TextAPI

Final Thoughts

As you can see there are three common ways on how to integrate with GFI FAXmaker:

  • SMTP Emails
  • NetPrintQueue2Fax
  • TextAPI & XMLAPI

With each of these, we’ve provided examples and sample files on how to test each method for your own needs and how GFI FAXmaker can fill a business need.  Each of these methods are designed to improve how you send faxes beyond your Outlook email and increase the productivity of your users and applications that you use along with overall faxing costs.