Fax API - Fax From Any Development Environment

Java Fax API
  • Send a fax
    
    java.io.File file = new File(absoluteFilePath);
    InterFAX interFAX = new DefaultInterFAXClient("username", "password");
    APIResponse apiResponse = interFAX.sendFax(faxNumber, file);
    
  • Check sent fax status
    
    InterFAX interFAX = new DefaultInterFAXClient();
    OutboundFaxStructure[] outboundFaxStructures = interFAX.getFaxList();
    
  • Retrieve received fax
    
    InterFAX interFAX = new DefaultInterFAXClient();
    InboundFaxStructure[] inboundFaxStructures = interFAX.getInboundFaxList();
    
    InterFAX interFAX = new DefaultInterFAXClient();
    InboundFaxStructure inboundFaxStructure = interFAX.getInboundFaxRecord("999999999");
    
    InterFAX interFAX = new DefaultInterFAXClient();
    byte[] faxImage = interFAX.getInboundFaxImage("999999999");
    
PHP Fax API
  • Send a fax
    
    use Interfax\Client;
    
    $interfax = new Client(['username' => 'username', 'password' => 'password']);
    $fax = $interfax->deliver(['faxNumber' => '+11111111112', 'file' => 'folder/file.pdf']);
    
    // getStatus will refresh the status of the fax from the server, if it's less than 0, then the fax is still pending.
    while ($fax->getStatus() < 0) {
        sleep(5); // wait 5 seconds
    }
    
    // false prevents another request for status
    echo $fax->getStatus(false) === 0 ? 'SUCCESS' : 'FAILURE';
    
  • Check sent fax status
    
    $fax_ids = [ ... ]; // array of fax ids
    $client->outbound->completed($fax_ids);
    $fax = $client->outbound->find(999999999);
    
  • Retrieve received fax
    
    $faxes = $inbound->incoming();
    $fax = $inbound->find(999999999);
    $fax = $client->inbound->find(999999999);
    if ($fax) {
        $image = $fax->image();
        $image->save('path/to/save/file/to.pdf');
    }
    
Python Fax Library
  • Send a fax
    
    from interfax import InterFAX
    
    interfax = InterFAX(username="username", password="password")
    fax = interfax.deliver(fax_number="+11111111112", files=["folder/fax.pdf"])
    fax = fax.reload() # resync with API to get latest status
    fax.status # Success if 0. Pending if < 0. Error if > 0
    
  • Check sent fax status
    
    interfax.outbound.all()
    interfax.outbound.find(999999999)
    image = interfax.outbound.image(999999999)
    Image(id=999999999)
    image.data
    image.save("fax.tiff")
    
  • Retrieve received fax
    
    interfax.inbound.all()
    interfax.inbound.find(999999999)
    image = interfax.inbound.image(999999999)
    Image(id=999999999)
    image.save("fax.tiff")
    
Ruby Fax API
  • Send a fax
    
    require 'interfax'
    
    interfax = InterFAX::Client.new(username: 'username', password: 'password')
    fax = interfax.deliver(faxNumber: "+11111111112", file: 'folder/fax.pdf')
    fax = fax.reload # resync with API to get latest status
    fax.status # Success if 0. Pending if < 0. Error if > 0
    
  • Check sent fax status
    
    interfax.outbound.all
    interfax.outbound.find(999999999)
    image = interfax.outbound.image(999999999)
    image.data
    image.save('fax.tiff')
    
  • Retrieve received fax
    
    interfax.inbound.all
    interfax.inbound.find(999999999)
    image = interfax.inbound.image(999999999)
    image.data
    image.save('fax.tiff')
    
.Net Fax API
  • Send a fax
    
    using InterFAX.Api;
    var interfax = new FaxClient();
    var options = new SendOptions { FaxNumber = "+11111111112"};
    
    var fileDocument = interfax.Documents.BuildFaxDocument(@".\folder\fax.txt");
    var messageId = await interfax.SendFax(faxDocument, options);
    
  • Check sent fax status
    
    var faxes = await interfax.Outbound.GetList();
    var fax = interfax.Outbound.GetFaxRecord(999999999)
    
  • Retrieve received fax
    
    var faxes = await interfax.Inbound.GetList(new ListOptions { UnreadOnly = true });
    var fax = await interfax.Inbound.GetFaxRecord(999999999);
    using (var imageStream = await _interfax.Inbound.GetFaxImageStream(999999999))
    {
        using (var fileStream = File.Create(@".\image.tiff"))
        {
            Utils.CopyStream(imageStream, fileStream);
        }
    }
    
Node.js Fax API
  • Send a fax
    
    import InterFAX from 'interfax';
    let interfax = new InterFAX();
    
    interfax.deliver({
      faxNumber : '+11111111112',
      file : 'folder/fax.pdf'
    }).then(fax => {
      return interfax.outbound.find(fax.id);
      //=> find the fax we just created
    }).then(fax => {
      console.log(fax.status);
      //=> the status of the fax we just sent
    })
    .catch(error => {
      console.log(error);
      //=> an error object
    });
    
  • Check sent fax status
    
    interfax.outbound.all({
      limit: 5
    }).then(faxes => {
      console.log(faxes); //=> an array of fax objects
    });
    interfax.outbound.find(999999999)
      .then(fax => {
        console.log(fax); //=> fax object
      });
    interfax.outbound.image(999999999)
      .then(image => {
        console.log(image.data); //=> TIFF image data
        image.save('file.tiff'); //=> saves image to file
      });
    
  • Retrieve received fax
    
    interfax.inbound.all({
      limit: 5
    }).then(faxes => {
      console.log(faxes); //=> an array of fax objects
    });
    interfax.inbound.find(999999999)
      .then(fax => {
        console.log(fax); //=> fax object
      });
    interfax.inbound.image(999999999)
      .then(image => {
        console.log(image.data); //=> TIFF image data
        image.save('file.tiff'); //=> saves image to file
      });
    
Sign up now for our free developer program & receive immediate access to the InterFAX Fax API
  • No hardware installations
  • No software setup
  • No phone lines to order

InterFAX accepts files in all popular Office formats, including PDF and HTML, and sends them to a fax number you specify. The fax API offers basic fax send/receive, and advanced features such as multiple destinations, deferred transmission, document resolution, and more.

Register as Developer

Resources

Client Libraries
Get up and running in minutes, using libraries for Java, .Net, PHP, Ruby, and more
Developer's Guide
Find out how it all fits together
API Methods
Full documentation of all API methods, including REST and SOAP
Developer Forum
Discuss any issues you may have with our dedicated developer support staff

What you get...

Free Registration
It costs nothing to join our developer program.
Free Faxing
Send as many test faxes as you need to one designated fax number.
Free Support
Our support team ensures you have everything you need to get your application up and running.
Access to Developer API
Your choice of REST, SOAP, or SMTP interface.

Features & Benefits of InterFAX

No Installations
No need to worry about fax software, servers or phone lines. Be up and running in minutes.
Encrypted Fax
Enhanced security with SSL access and encryption for inbound/outbound fax messages.
Global Reach
Our fax servers are distributed over four continents. Send faxes wherever you are.
HIPAA Fax
Complies with the most stringent industry regulations, including the Health Insurance Portability and Accountability Act.
Unlimited Scalability
Whether you need to send ten faxes or ten thousand, our servers get the job done.
Outbound PCI DSS Fax
Complies with the new mandatory standard, ensuring the highest level of security for faxing credit-card data.
Full Control
Web-based administration screens allow you to monitor activity and control settings.
EU Data Protection
Complies with the EU Data Protection Directive, ensuring that all faxes are handled within the EU.

Sample Uses

Automated Invoicing
Automate fax invoices and order confirmations directly from order processing systems.
Online Restaurant Orders
Automatically fax orders from websites to restaurants for quick fulfillment.
Itineraries
Fax travellers' itineraries and related information directly from travel management systems.
Workflow
Fax work orders to remote personnel from workflow management systems.
FAXCOMEXLib Alternative
Save the trouble of integrating the Windows fax library into your application.

Contact us today

Talk to a member of our team about the benefits InterFAX can bring to your organization's communications processes.

Contact us today