receive_fax

View as Markdown

Receive a fax being delivered to this call.

Properties

receive_fax
objectRequired

An object that accepts the following properties.

receive_fax.status_url
string

HTTP or HTTPS URL to deliver receive fax status events. Learn more about status callbacks.

Variables

Set by the method:

  • receive_fax_document: (out) URL of received document.
  • receive_fax_identity: (out) identity of this fax station.
  • receive_fax_remote_identity: (out) identity of the sending fax station.
  • receive_fax_pages: (out) number of pages received.
  • receive_fax_result_code: (out) fax status code.
  • receive_fax_result_text: (out) description of fax status code.
  • receive_fax_result: (out) success | failed.

StatusCallbacks

A POST request will be sent to status_url with a JSON payload like the following:

event_type
string

The type of event. Always calling.call.fax for this method.

event_channel
string

The channel for the event, includes the SWML session ID.

timestamp
number

Unix timestamp (float) when the event was generated.

project_id
string

The project ID associated with the call.

space_id
string

The Space ID associated with the call.

params
object

An object containing fax-specific parameters.

params.call_id
string

The call ID.

params.node_id
string

The node handling the call.

params.control_id
string

The control ID for this fax operation.

params.fax
object

Fax result details.

fax.type
string

The type of fax operation. Always finished.

fax.params.direction
string

The direction of the fax (receive).

fax.params.identity
string

The identity of this fax station.

fax.params.remote_identity
string

The identity of the sending fax station.

fax.params.document
string

URL of the received fax document.

fax.params.pages
number

Number of pages received.

fax.params.success
boolean

Whether the fax was received successfully.

fax.params.result
number

The numeric result code of the fax operation (e.g., 0 for success).

fax.params.result_text
string

A description of the fax result (e.g., OK).

fax.params.format
string

The format of the fax document. Always "pdf".

Page progress events

A separate callback is sent for each page as the fax progresses:

fax.type
string

Always "page" for page progress events.

fax.params.direction
string

The direction of the fax.

fax.params.number
number

The page number that was just processed.

Raw JSON example

1{
2 "event_type": "calling.call.fax",
3 "event_channel": "swml:xxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
4 "timestamp": 1640000000.123,
5 "project_id": "xxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
6 "space_id": "xxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
7 "params": {
8 "call_id": "xxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
9 "node_id": "xxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
10 "control_id": "xxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
11 "fax": {
12 "type": "finished",
13 "params": {
14 "direction": "receive",
15 "identity": "+15551231234",
16 "remote_identity": "+15553214321",
17 "document": "https://your-space.signalwire.com/api/v1/faxes/fax-uuid/download",
18 "pages": 3,
19 "success": true,
20 "result": 0,
21 "result_text": "OK",
22 "format": "pdf"
23 }
24 }
25 }
26}

Examples

Receive a fax and post a result to a webhook

1version: 1.0.0
2sections:
3 main:
4 - receive_fax: {}
5 - execute:
6 dest: 'https://<NGROK UUID>.ngrok-free.app'

In this example, when a fax is received, a POST request will be sent to the URL with all the fax related variables (like receive_fax_document) already set. Refer to the execute statement’s documentation for more details on this behavior.