---
title: GoFax REST API common practices
description: This article describes common practices and suggestions for architecting and developing an integration with the GoFax REST API
---

[Skip to content](https://support.gofax.com.au/en/api-common-practices#main-content)

[Contact us](https://support.gofax.com.au/en/kb-tickets/new?hsLang=en)

[![Gofax-new-logo-180x45-min.png\]](https://support.gofax.com.au/hs-fs/hubfs/Gofax-new-logo-180x45-min.png?width=200&height=50&name=Gofax-new-logo-180x45-min.png)](https://www.gofax.com.au/)

- [Pricing](https://www.gofax.com.au/pricing/#bundle-plan)
- [Contact](https://www.gofax.com.au/contact-us/)
- [Log In](https://clientadmin.gofax.com.au/login.aspx)
- [Sender ID Registration](https://support.gofax.com.au/en/sms-sender-id-registration-guide)

Open main navigation

Close main navigation

- [Pricing](https://www.gofax.com.au/pricing/#bundle-plan)
- [Contact](https://www.gofax.com.au/contact-us/)
- [Log In](https://clientadmin.gofax.com.au/login.aspx)
- [Sender ID Registration](https://support.gofax.com.au/en/sms-sender-id-registration-guide)
- [Contact us](https://support.gofax.com.au/en/kb-tickets/new)
- [Submit Support Ticket](https://support.gofax.com.au/en/kb-tickets/new)

[Submit Support Ticket](https://support.gofax.com.au/en/kb-tickets/new?hsLang=en)

 GoFax Customer Support Guides & FAQs

- There are no suggestions because the search field is empty.

1. [Support Home](https://support.gofax.com.au/en?hsLang=en)
2. [Developers](https://support.gofax.com.au/en/developers?hsLang=en)
3. [Getting Started](https://support.gofax.com.au/en/developers?hsLang=en#getting-started)

# GoFax REST API common practices

## Some common approaches to developing an integration with GoFax using the REST API

When sending either Fax or SMS, transmission to the destination can take time. Therefore the result cannot be returned in the initial API response, but rather the job status must be tracked using one of the below approaches. 

### Event based 

We would highly recommend [using webhooks](https://support.gofax.com.au/en/using-webhooks?hsLang=en) (a.k.a callback URLs) such that your integration can be notified when a fax or SMS transmission is complete or when a fax is received. 

Using an event based approach reduces the number of calls made to the API and enables your integration to track message statuses in near real-time.  

This approach is particularly effective for SMS delivery and for fax receive, where polling at an interval will introduce significant lag in updating statuses. 

Here's a high-level diagram of how your webhook listener service would operate for fax receive. 

![](https://support.gofax.com.au/hubfs/undefined-Apr-19-2023-03-31-41-8415-AM.png)

### Poll based

Alternatively, your integration could *periodically* poll the API to track sent or received messages. 

This approach does not require a webhook listener service, reducing complexity and allowing your integration to be installed behind NAT firewalls (doesn't need to be exposed to the internet).

However, this means your integration is unable to track state in near real-time. The status of messages will only update when polled.

- [Fax](https://support.gofax.com.au/en/fax?hsLang=en#main-content)

    - [Sending Fax](https://support.gofax.com.au/en/fax?hsLang=en#sending-fax)
    - [Receiving Fax](https://support.gofax.com.au/en/fax?hsLang=en#receiving-fax)
    - [Fax Broadcast](https://support.gofax.com.au/en/fax?hsLang=en#fax-broadcast)
    - [Fax Number Porting](https://support.gofax.com.au/en/fax?hsLang=en#fax-number-porting)
    - [General](https://support.gofax.com.au/en/fax?hsLang=en#general)
- [SMS](https://support.gofax.com.au/en/sms?hsLang=en#main-content)

    - [Sending](https://support.gofax.com.au/en/sms?hsLang=en#sending)
    - [General](https://support.gofax.com.au/en/sms?hsLang=en#general)
    - [SMS Sender ID Register](https://support.gofax.com.au/en/sms?hsLang=en#sms-sender-id-register)
- [Account](https://support.gofax.com.au/en/account?hsLang=en#main-content)

    - [My Account](https://support.gofax.com.au/en/account?hsLang=en#my-account)
    - [My Settings](https://support.gofax.com.au/en/account?hsLang=en#my-settings)
- [Software and apps](https://support.gofax.com.au/en/software-and-apps?hsLang=en#main-content)

    - [GoFax App](https://support.gofax.com.au/en/software-and-apps?hsLang=en#gofax-app)
    - [GoFax Print Driver](https://support.gofax.com.au/en/software-and-apps?hsLang=en#gofax-print-driver)
- [Developers](https://support.gofax.com.au/en/developers?hsLang=en#main-content)

    - [Getting Started](https://support.gofax.com.au/en/developers?hsLang=en#getting-started)
    - [Webhooks](https://support.gofax.com.au/en/developers?hsLang=en#webhooks)
- [Integrations](https://support.gofax.com.au/en/integrations?hsLang=en)
- [Compliance and Security](https://support.gofax.com.au/en/compliance-and-security?hsLang=en)
- [GoFax Corporate](https://support.gofax.com.au/en/gofax-corporate?hsLang=en)
- [Frequently Asked Questions (FAQs)](https://support.gofax.com.au/en/frequently-asked-questions-faqs?hsLang=en)
- [GoFax (GoLogic) Partners](https://support.gofax.com.au/en/gofax-gologic-partners?hsLang=en)

[![Gofax-new-logo-180x45-min-2](https://support.gofax.com.au/hs-fs/hubfs/Gofax-new-logo-180x45-min-2.png?width=180&height=45&name=Gofax-new-logo-180x45-min-2.png "Gofax-new-logo-180x45-min-2")](http://gofax.com.au)

| [Contact Us](https://www.gofax.com.au/contact-us/) | [1300 928 872](tel:1300%20928%20872) | Intl: [+617 5227 8301](tel:+617%205227%208301) |
| --- | --- | --- |

 