Web Services API
FaxFinder Web Service Reference
Introduction
This document illustrates the HTTP/XML communication between the FaxFinder Web Service (FFWS) and a client. FFWS provides an interface to FFx30 FaxFinders for client applications. Client applications can use FFWS for sending faxes, managing contacts and monitoring fax status.
Authorization
All request requiring authorization must have the Authorization header set using Basic authentication. If this is not set or the username or password are incorrect then “401 Unauthorized” is returned. See RFC 2617 for implementation
HTTPS
The server supports HTTPS. Secure requests can be sent to the default HTTPS port 443.
Scheduling a Fax
An application can schedule a fax by posting the schedule fax XML to the ofax resource. If the fax is successfully scheduled then a response is returned with the scheduled entries. Each file that you wish to attach as fax pages must be placed in an attachment element. An “inline” attachment is an attachment with the contents of the file inserted into the content tag. Inline attachments must be encoded using base64. The name of the attachment can usually be set to the basename of the file unless that name is not unique among the attachments. The name is used primarily for error responses, so if you would like to know the attachment which failed then it is important to make this field unique. The content type of the attachment should be set to match the type of file being transfered. For example, if you are attaching a PDF, then the content type should be set to “application/pdf”. It is important to properly set the type because this field is used when converting the file into fax pages. No attempt is made to guess the content type on the server.
Limits:
Request size: 2MB for [12]30, 5MB for [48]30
Maximum Recipients per Fax: 400
Query Parameters:
None
HTTP Request line:
POST /ffws/v1/ofax HTTP/1.1
HTTP Response Status Codes:
201 Created
The fax Has been created successfully.
400 Bad Request
Invalid request. The fax has not been scheduled. A more verbose message may
be provided in the response message if possible.
Example:
POST /ffws/v1/ofax HTTP/1.1
content-type: application/xml
authorization: Basic YWRtaW46YWRtaW4=
<?xml version="1.0" encoding="UTF-8"?>
<schedule_fax>
<cover_page>
<url>https://192.168.2.1/ffws/v1/data/cover_pages/default.pdf</url>
<enabled>true</enabled>
<subject>Test Subject</subject>
<comments>Test Message</comments>
</cover_page>
<sender>
<name>Sender Name</name>
<organization>Sender Org</organization>
<phone_number>218-555-3333</phone_number>
<fax_number>218-555-3334</fax_number>
<email_address>sender@example.com</email_address>
</sender>
<recipient>
<name>Rcpt 1 Name</name>
<organization>Rcpt 1 Org</organization>
<fax_number>-218-555-3335</fax_number>
<phone_number>218-555-3336</phone_number>
</recipient>
<attachment>
<location>inline</location>
<name>attachment1.txt</name>
<content_type>text/plain</content_type>
<content_transfer_encoding>base64</content_transfer_encoding>
<content>dGVzdA==</content>
</attachment>
<max_tries>3</max_tries>
<priority>3</priority>
<try_interval>30</try_interval>
<receipt>failure</receipt>
<receipt_attachment>none</receipt_attachment>
<schedule_all_at>2008-08-07T20:30:00</schedule_all_at>
</schedule_fax>
-----------------------------------
HTTP/1.1 201 Created
content-type: application/xml
<?xml version="1.0" encoding="UTF-8"?>
<response>
<message>Success</message>
<fax_entry>
<fax_entry_url>https://192.168.2.1/ffws/v1/ofax/0000001B/0000</fax_entry_url>
<fax_url>https://192.168.2.1/ffws/v1/ofax/0000001B</fax_url>
<state>preprocessing</state>
<schedule_message>New fax entry</schedule_message>
<created>2008-08-01 08:43:29</created>
<stime>2008-08-01 08:52:29</stime>
<try_number>1</try_number>
<agent>FFWS</agent>
<preview>https://192.168.2.1/ffws/v1/data/preview/0000001B-0000.pdf</preview>
<cover_page>
<url>https://192.168.2.1/ffws/v1/data/cover_pages/default.pdf</url>
<enabled>true</enabled>
<subject>Test Subject</subject>
<comments>Test Message</comments>
</cover_page>
<sender>
<username>admin</username>
<name>Sender Name</name>
<organization>Sender Org</organization>
<phone_number>218-555-3333</phone_number>
<fax_number>218-555-3334</fax_number>
<email_address>sender@example.com</email_address>
</sender>
<recipient>
<name>Rcpt 1 Name</name>
<organization>Rcpt 1 Org</organization>
<fax_number>218-555-3335</fax_number>
<phone_number>218-555-3336</phone_number>
</recipient>
<max_tries>3</max_tries>
<priority>3</priority>
<try_interval>30</try_interval>
<receipt>failure</receipt>
<receipt_attachment>none</receipt_attachment>
<pages>0</pages>
<approver></approver>
<approval_time></approval_time>
</fax_entry>
</response>
Retrieving Fax Entries
HTTP Request line:
GET /ffws/v1/ofax HTTP/1.1 GET /ffws/v1/ofax/FAXKEY HTTP/1.1 GET /ffws/v1/ofax/FAXKEY/ENTRYKEY HTTP/1.1
Query Parameters:
all_users=true|false
An Admin level user can set this option to query all users instead of just faxes belonging to the authenticated user.
complete_limit=LIMIT
Limit the number of completed faxes returned in a general query (/ffws/v1/ofax) to LIMIT. By default the limit is 10. Faxes displayed in the completed list are (pre)viewable and reschedulable.
|sending|complete
Retrieve faxes by class.
include_modem_info=true|false
Include Modem level information in the response (init_time, connect_time, ...). Requesting this infomation is costly and it also increases the size of the response. Modem information only exists after the modem has completed at least one full attempt.
HTTP Response Status Codes:
200 OK
Here are the fax entries.
Example:
GET /ffws/v1/ofax HTTP/1.1
content-type: application/xml
authorization: Basic YWRtaW46YWRtaW4=
-----------------------------------
HTTP/1.1 200 OK
content-type: application/xml
<?xml version="1.0" encoding="UTF-8"?>
<response>
<message>Success</message>
<fax_entry>
<fax_entry_url>https://192.168.2.1/ffws/v1/ofax/0000001B/0000</fax_entry_url>
<fax_url>https://192.168.2.1/ffws/v1/ofax/0000001B</fax_url>
<state>aborted</state>
<schedule_message>Fax aborted by user</schedule_message>
<created>2008-08-01 08:43:29</created>
<stime>2008-08-01 08:52:29</stime>
<try_number>1</try_number>
<agent>FFWS</agent>
<preview>https://192.168.2.1/ffws/v1/data/preview/0000001B-0000.pdf</preview>
<cover_page>
<url>https://192.168.2.1/ffws/v1/data/cover_pages/default.pdf</url>
<enabled>true</enabled>
<subject>Test Subject</subject>
<comments>Test Message</comments>
</cover_page>
<sender>
<username>admin</username>
<name>Sender Name</name>
<organization>Sender Org</organization>
<phone_number>218-555-3333</phone_number>
<fax_number>-218-555-3334</fax_number>
<email_address>sender@example.com</email_address>
</sender>
<recipient>
<name>Rcpt 1 Name</name>
<organization>Rcpt 1 Org</organization>
<fax_number>218-555-3335</fax_number>
<phone_number>218-555-3336</phone_number>
</recipient>
<max_tries>3</max_tries>
<priority>3</priority>
<try_interval>30</try_interval>
<receipt>failure</receipt>
<receipt_attachment>none</receipt_attachment>
<pages>1</pages>
</fax_entry>
</response>
Aborting a Fax Entry
HTTP Request line:
DELETE /ffws/v1/ofax/FAXKEY HTTP/1.1 DELETE /ffws/v1/ofax/FAXKEY/ENTRYKEY HTTP/1.1
HTTP Response Status Codes:
202 Accepted
An abort has been sent. The fax entry will be aborted if possible.
400 Bad Request
The fax specified could not be aborted. The user may not be the owner of the fax or the fax could not be found.
Example:
DELETE /ffws/v1/ofax/0000001B/0000 HTTP/1.1 content-type: application/xml authorization: Basic YWRtaW46YWRtaW4= ----------------------------------- HTTP/1.1 202 Accepted content-type: application/xml
Rescheduling a Fax Entry
HTTP Request line:
PUT /ffws/v1/ofax/FAXKEY/ENTRYKEY?at=TIME HTTP/1.1
Query Parameters:
at=TIME
TIME := now | DATETIME_UTC_URLENCODED
DATETIME_UTC_URLENCODED := YYYY-MM-DDTHH%3AMM%3ASS
Note: The "now" value was added in v2.1. Earlier versions of firmware could reschedule a fax for the current server time by omitting all query parameters. This usage is now deprecated and may be removed in a future release.
HTTP Response Status Codes:
202 Accepted
Attempting to reschedule faxes. There is no guarantee that all entries will be rescheduled. For instance, entries that are sending when the reschedule is received will not be rescheduled.
400 Bad Request
The fax specified could not be rescheduled. The user may not be the owner of the fax or the fax could not be found
Example:
PUT /ffws/v1/ofax/0000001B/0000?at=2008-08-09T22%3A30%3A00 HTTP/1.1 content-type: application/xml authorization: Basic YWRtaW46YWRtaW4= ----------------------------------- HTTP/1.1 202 Accepted content-type: application/xml
Retrieving User Information
HTTP Request line:
GET /ffws/v1/users/USERNAME HTTP/1.1
HTTP Response Status Codes:
200 OK
Success
403 Forbidden
Authenticated user does not have permission to view data associated with
username.
404 Not Found
No user found with that username.
Example:
GET /ffws/v1/users/admin HTTP/1.1
content-type: application/xml
authorization: Basic YWRtaW46YWRtaW4=
-----------------------------------
HTTP/1.1 200 OK
content-type: application/xml
<?xml version="1.0" encoding="UTF-8"?>
<response>
<message>Success</message>
<user>
<user_url>https://192.168.2.1/ffws/v1/users/admin</user_url>
<name>Administrator</name>
<username>admin</username>
<email_address>admin@example.com</email_address>
<phone_number>218-555-3333</phone_number>
<fax_number>218-555-3334</fax_number>
<organization>Example Org</organization>
</user>
</response>
Retrieving Contacts
HTTP Request line:
GET /ffws/v1/contacts/USERNAME HTTP/1.1 GET /ffws/v1/contacts/USERNAME/ID HTTP/1.1 GET /ffws/v1/contacts/global_contact_list HTTP/1.1 GET /ffws/v1/contacts/global_contact_list/ID HTTP/1.1
Query Parameters:
limit=LIMIT
Limit the number of results to LIMIT.
offset=OFFSET
Skip OFFSET entries from the start. Only valid when limit is specified.
name=SUBSTR
fax_number=SUBSTR
phone_number=SUBSTR
organization=SUBSTR
Search for contacts by field name. If you specify more than one they are logically ANDed.
HTTP Response Status Codes:
200 OK
Success
403 Forbidden
Authenticated user does not have permission to view data associated with username.
404 Not Found
No user found with that username.
Example:
GET /ffws/v1/contacts/admin HTTP/1.1
content-type: application/xml
authorization: Basic YWRtaW46YWRtaW4=
-----------------------------------
HTTP/1.1 200 OK
content-type: application/xml
<?xml version="1.0" encoding="UTF-8"?>
<response>
<message>Success</message>
<contact>
<contact_url>https://192.168.2.1/ffws/v1/contacts/admin/3</contact_url>
<name>Contact Name</name>
<fax_number>218-555-3335</fax_number>
<phone_number>218-555-3336</phone_number>
<organization>Contacts Org</organization>
</contact>
</response>
Adding New Contacts
HTTP Request line:
POST /ffws/v1/contacts/USERNAME HTTP/1.1
HTTP Response Status Codes:
200 OK
Created
403 Forbidden
Authenticated user does not have permission to change data associated with username.
404 Not Found
No user found with that username.
400 Bad Request
The provided XML is not valid.
Example:
POST /ffws/v1/contacts/admin HTTP/1.1
content-type: application/xml
authorization: Basic YWRtaW46YWRtaW4=
<?xml version="1.0" encoding="UTF-8"?>
<contact>
<name>Test Recipient</name>
<fax_number>218-555-3335</fax_number>
<phone_number>218-555-3336</phone_number>
<organization>Some org</organization>
</contact>
-----------------------------------
HTTP/1.1 200 OK
content-type: application/xml
<?xml version="1.0" encoding="UTF-8"?>
<response>
<message>Created</message>
<contact>
<contact_url>https://192.168.2.1/ffws/v1/contacts/admin/6</contact_url>
<name>Test Recipient</name>
<fax_number>218-555-3335</fax_number>
<phone_number>218-555-3336</phone_number>
<organization>Some org</organization>
</contact>
</response>
Modifying Contacts
HTTP Request line:
POST /ffws/v1/contacts/USERNAME/id HTTP/1.1
HTTP Response Status Codes:
200 OK
Modified successfully.
403 Forbidden
Authenticated user does not have permission to change data associated with username.
404 Not Found
No user found with that username.
400 Bad Request
The provided XML is not valid.
Example:
POST /ffws/v1/contacts/admin/6 HTTP/1.1 content-type: application/xml authorization: Basic YWRtaW46YWRtaW4= <?xml version="1.0" encoding="UTF-8"?> <contact> <name>Change name</name> <fax_number>218-555-3335</fax_number> <phone_number>218-555-3336</phone_number> <organization>Some org</organization> </contact> ----------------------------------- HTTP/1.1 200 OK content-type: application/xml <?xml version="1.0" encoding="UTF-8"?> <response> <message>Modified</message> </response>
Deleting Contacts
HTTP Request line:
DELETE /ffws/v1/contacts/USERNAME/id HTTP/1.1
HTTP Response Status Codes:
200 OK
Deleted
403 Forbidden
Authenticated user does not have permission to change data associated with username.
404 Not Found
No user found with that username.
Example:
DELETE /ffws/v1/contacts/admin/6 HTTP/1.1 content-type: application/xml authorization: Basic YWRtaW46YWRtaW4= ----------------------------------- HTTP/1.1 200 OK content-type: application/xml <?xml version="1.0" encoding="UTF-8"?> <response> <message>Deleted</message> </response>
Retrieving Contact Groups
HTTP Request line:
GET /ffws/v1/contact_groups/USERNAME HTTP/1.1 GET /ffws/v1/contact_groups/global_contact_list HTTP/1.1
Query Parameters:
limit=LIMIT
Limit the number of results to LIMIT.
offset=OFFSET
Skip OFFSET entries from the start. Only valid when limit is specified.
name=SUBSTR
description=SUBSTR
Search for groups by field name. If you specify more than one they are logically ANDed.
HTTP Response Status Codes:
200 OK
Success
403 Forbidden
Authenticated user does not have permission to view data associated with username.
404 Not Found
No user found with that username.
Example:
GET /ffws/v1/contact_groups/admin HTTP/1.1
content-type: application/xml
authorization: Basic YWRtaW46YWRtaW4=
-----------------------------------
HTTP/1.1 200 OK
content-type: application/xml
<?xml version="1.0" encoding="UTF-8"?>
<response>
<message>Success</message>
<contact_group>
<contact_group_url>https://172.16.128.5/ffws/v1/contact_groups/admin/4</contact_group_url>
<name>g one</name>
<description>g one</description>
<contact>https://172.16.128.5/ffws/v1/contacts/admin/1</contact>
<contact>https://172.16.128.5/ffws/v1/contacts/admin/2</contact>
<contact>https://172.16.128.5/ffws/v1/contacts/global_contact_list/3</contact>
</contact_group>
<contact_group>
<contact_group_url>https://172.16.128.5/ffws/v1/contact_groups/admin/6</contact_group_url>
<name>g two</name>
<description>g two org</description>
<contact>https://172.16.128.5/ffws/v1/contacts/admin/2</contact>
<contact>https://172.16.128.5/ffws/v1/contacts/global_contact_list/4</contact>
</contact_group>
</response>
Retrieving Cover Pages
HTTP Request line:
GET /ffws/v1/data/cover_pages HTTP/1.1
HTTP Response Status Codes:
200 OK
Success
Example:
GET /ffws/v1/data/cover_pages HTTP/1.1
content-type: application/xml
authorization: Basic YWRtaW46YWRtaW4=
-----------------------------------
HTTP/1.1 200 OK
content-type: application/xml
<?xml version="1.0" encoding="UTF-8"?>
<response>
<message>Success</message>
<file>
<name>default.pdf</name>
<type>application/pdf</type>
<url>https://192.168.2.1/ffws/v1/data/cover_pages/default.pdf</url>
</file>
<file>
<name>multitech.pdf</name>
<type>application/pdf</type>
<url>https://192.168.2.1/ffws/v1/data/cover_pages/multitech.pdf</url>
</file>
<file>
<name>sample1.pdf</name>
<type>application/pdf</type>
<url>https://192.168.2.1/ffws/v1/data/cover_pages/sample1.pdf</url>
</file>
<file>
<name>sample2.pdf</name>
<type>application/pdf</type>
<url>https://192.168.2.1/ffws/v1/data/cover_pages/sample2.pdf</url>
</file>
</response>
Verify User
Authenticates the user and then simply returns 200 OK.
HTTP Request line:
GET /ffws/v1/verify HTTP/1.1 HTTP Response Status Codes: 200 OKVerified
Example:
GET /ffws/v1/verify HTTP/1.1 content-type: application/xml authorization: Basic YWRtaW46YWRtaW4= ----------------------------------- HTTP/1.1 200 OK content-type: application/xml <?xml version="1.0" encoding="UTF-8"?> <response> <message>Verified</message> </response>
Retrieving Information About the FaxFinder
HTTP Request line:
GET /ffws/v1/about HTTP/1.1 HTTP Response Status Codes: 200 OK Success
Example:
GET /ffws/v1/about HTTP/1.1
content-type: application/xml
authorization: Basic YWRtaW46YWRtaW4=
-----------------------------------
HTTP/1.1 200 OK
content-type: application/xml
<?xml version="1.0" encoding="UTF-8"?>
<response>
<message>Success</message>
<about>
<model>FF230</model>
<version>2.0</version>
</about>
</response>
General Status Codes
Be aware that other Status Codes that do not pertain specifically to the resource requested may be returned. See RFC 2616 for a listing of all possible codes.
Some FFWS general errors:
401 Unauthorized
Authorization required
415 Unsupported Media Type
Content-Type must be set to 'application/xml'
405 Method Not Allowed
The resource does not support that method
503 Service Unavailable
Temporary overloading
Schedule Fax Element
Most elements under schedule_fax are optional. If an elements is left
out then an appropriate default or the empty string will be
substituted.
<!-- Describes one or more faxes to send -->
<schedule_fax>
<!-- Cover page information -->
<cover_page>
<!-- URL of cover page on server to use -->
<!-- default: default.pdf -->
<!-- required: no -->
<!-- value: string -->
<url>https://192.168.2.1/ffws/v1/data/cover_pages/default.pdf</url>
<!-- Enable or disable the inclusion of a cover page -->
<!-- default: true -->
<!-- required: no -->
<!-- value: boolean -->
<enabled>true</enabled>
<!-- Subject added to subject field on cover page -->
<!-- default: "" -->
<!-- required: no -->
<!-- value: string -->
<subject>Test Subject</subject>
<!-- Message added to the comments field on cover page -->
<!-- Formatting is not preserved. Newlines and spaces -->
<!-- are reduced to a single space. -->
<!-- default: "" -->
<!-- required: no -->
<!-- value: string -->
<comments>Test Message</comments>
</cover_page>
<!-- Sender information -->
<sender>
<!-- The name of the sender -->
<!-- default: "" -->
<!-- required: no -->
<!-- value: string -->
<name>Sender Name</name>
<!-- Sender Organization/company -->
<!-- default: "" -->
<!-- required: no -->
<!-- value: string -->
<organization>Sender Org</organization>
<!-- Sender phone number -->
<!-- default: "" -->
<!-- required: no -->
<!-- value: string -->
<phone_number>218-555-3333</phone_number>
<!-- Sender fax number -->
<!-- default: "" -->
<!-- required: no -->
<!-- value: string -->
<fax_number>218-555-3334</fax_number>
<!-- Sender email address-->
<!-- This field must be included to receive email alerts -->
<!-- default: "" -->
<!-- required: no -->
<!-- value: string -->
<email_address>sender@example.com</email_address>
</sender>
<!-- Recipient information -->
<!-- At least one recipient must be included -->
<!-- A fax is sent to each recipient -->
<recipient>
<!-- Recipient Name -->
<!-- default: "" -->
<!-- required: no -->
<!-- value: string -->
<name>Rcpt 1 Name</name>
<!-- Recipient Organization -->
<!-- default: "" -->
<!-- required: no -->
<!-- value: string -->
<organization>Rcpt 1 Org</organization>
<!-- Recipient Fax Number -->
<!-- The fax number to send to -->
<!-- required: yes -->
<!-- value: string -->
<fax_number>218-555-3335</fax_number>
<!-- Recipient Phone Number -->
<!-- default: "" -->
<!-- required: no -->
<!-- value: string -->
<phone_number>218-555-3336</phone_number>
</recipient>
<!-- Attachments to send as fax pages -->
<attachment>
<!-- Attachment location -->
<!-- required: yes -->
<!-- value: inline | external -->
<location>inline</location>
<!-- Attachment name -->
<!-- A unique name associate with this attachment -->
<!-- Used to differentiate between attachments -->
<!-- required: yes if location == inline -->
<!-- value: string -->
<name>attachment1.txt</name>
<!-- Attachment type must be one of: -->
<!-- application/pdf -->
<!-- application/postscript -->
<!-- text/plain -->
<!-- image/tiff -->
<!-- required: yes if location == inline -->
<!-- value: string -->
<content_type>text/plain</content_type>
<!-- Content encoding -->
<!-- Must be set to base64 -->
<!-- required: yes if location == inline -->
<!-- value: string -->
<content_transfer_encoding>base64</content_transfer_encoding>
<!-- Content of attachment base64 encoded -->
<!-- required: yes if location == inline -->
<!-- value: string -->
<content>dGVzdA==</content>
<!-- HTTP URL of attachment hosted on another web server -->
<!-- required: yes if location == external -->
<!-- value: string -->
<url>http://example.com/fax/report.pdf</url>
</attachment>
<!-- Maximum number of tries until failure of fax -->
<!-- default: 3 -->
<!-- required: no -->
<!-- value: integer -->
<max_tries>3</max_tries>
<!-- Priority level of fax -->
<!-- Must be of value from 0..5 where 0 if the highest -->
<!-- A higher priority fax will send before a lower priority fax -->
<!-- when there are more than one fax ready to send. -->
<!-- default: 3 -->
<!-- required: no -->
<!-- value: integer -->
<priority>3</priority>
<!-- Interval in seconds between failure tries -->
<!-- default: 30 -->
<!-- required: no -->
<!-- value: integer -->
<try_interval>30</try_interval>
<!-- Fax Receipt -->
<!-- Send a fax receipt to senders email: "always" | "never" | "failure" -->
<!-- default: "failure" -->
<!-- required: no -->
<!-- value: string -->
<receipt>failure</receipt>
<!-- Fax Attachment with Receipt -->
<!-- Send the fax pages as an attachment with receipt: "pdf" | "tiff" | "none" -->
<!-- default: "pdf" -->
<!-- required: no -->
<!-- value: string -->
<receipt_attachment>none</receipt_attachment>
<!-- URL of scheduled faxes -->
<!-- Added by FFWS -->
<!-- value: string -->
<fax_url>https://192.168.2.1/ffws/v1/ofax/0000001C</fax_url>
<!-- Total number of fax pages not including the cover page -->
<!-- Added by FFWS -->
<!-- value: integer -->
<pages>1</pages>
<!-- Schedule all faxes to send at a specified UTC time -->
<!-- If this options is not present then faxes will be -->
<!-- scheduled to send as soon as possible. -->
<!-- Format: %FT%T -->
<!-- required: no -->
<!-- value: string -->
<schedule_all_at>2008-08-07T20:30:00</schedule_all_at>
</schedule_fax>
Fax Entry Element
This element represents an actual fax that will be sent. Some of the
elements are the same as elements provided in schedule_fax. See the
documentation above for an explanation of those fields.
<!-- Describes a Fax Entry -->
<fax_entry>
<!-- URL of this fax_entry -->
<!-- value: string -->
<fax_entry_url>https://172.16.0.13/ffws/v1/ofax/00000FD1/0000</fax_entry_url>
<!-- URL of scheduled_fax group to which this fax_entry is a part of -->
<!-- value: string -->
<fax_url>https://172.16.0.13/ffws/v1/ofax/00000FD1</fax_url>
<!-- Current state of this fax entry -->
<!-- Can be one of: -->
<!-- preprocessing-->
<!-- approval_pending -->
<!-- pending -->
<!-- sending -->
<!-- sent -->
<!-- aborted -->
<!-- failed -->
<!-- dead -->
<!-- value: string -->
<state>sent</state>
<!-- Human readable string describing the current status -->
<!-- value: string -->
<schedule_message>Successfully sent fax</schedule_message>
<!-- Human readable time representing the time -->
<!-- in the faxfinders time zone, when the fax -->
<!-- was created. -->
<!-- This value will be approximately the time when -->
<!-- the fax was scheduled. -->
<!-- value: string -->
<created>2009-01-30T04:43:26</created>
<!-- A contextual field which varies based on the -->
<!-- state. -->
<!-- When the fax is pending this field represents -->
<!-- the time when FaxFinder will try to send it. -->
<!-- When the fax is sending this field represents -->
<!-- the time when FaxFinder actually started sending it. -->
<!-- In any other case it is the time of completion. -->
<!-- value: string -->
<stime>2009-01-30T05:04:00</stime>
<!-- The number of unsuccessful tries that have already occurred -->
<!-- value: string -->
<try_number>1</try_number>
<!-- Sending Agent -->
<!-- value: string -->
<agent>FFWS</agent>
<!-- Fax Preview URL -->
<!-- value: string -->
<preview>https://172.16.0.13/ffws/v1/data/preview/00000FD1-0000.pdf</preview>
<cover_page>
<enabled>false</enabled>
<url></url>
<subject></subject>
<comments></comments>
</cover_page>
<sender>
<username>admin</username>
<name></name>
<organization></organization>
<phone_number></phone_number>
<fax_number></fax_number>
<email_address></email_address>
</sender>
<recipient>
<name>test recipient</name>
<organization>test org</organization>
<fax_number>5816</fax_number>
<phone_number></phone_number>
</recipient>
<max_tries>3</max_tries>
<priority>3</priority>
<try_interval>300</try_interval>
<receipt>failure</receipt>
<receipt_attachment>failure</receipt_attachment>
<pages>6</pages>
<approver>_SYSTEM_</approver>
<approval_time>2009-01-30T04:43:28</approval_time>
<!-- Modem level information included when include_modem_info=true. -->
<!-- A modem entry is added for each attempt and is only available -->
<!-- after one full attempt has completed. -->
<modem_entry>
<modem_number>1</modem_number>
<status>pass</status>
<remote_id>POTS modem 1</remote_id>
<size>403498</size>
<pages>6</pages>
<resolution>Fine</resolution>
<baud_rate>33600</baud_rate>
<width>1728</width>
<height>Variable</height>
<data_compression>mh</data_compression>
<error_correction>on</error_correction>
<init_time>2009-01-30T05:00:09</init_time>
<off_hook_time>2009-01-30T05:00:18</off_hook_time>
<connect_time>2009-01-30T05:00:51</connect_time>
<elapsed_time>172</elapsed_time>
<scan_line_time>0</scan_line_time>
</modem_entry>
</fax_entry>
User Element
This element represents a user registered on the FaxFinder.
<!-- Describes a User --> <user> <!-- Url of this user --> <!-- value: string --> <user_url>https://192.168.2.1/ffws/v1/users/admin</user_url> <!-- Full name of user --> <!-- required: yes --> <!-- value: string --> <name>Administrator</name> <!-- Username --> <!-- Must be a unique --> <!-- Must contain only characters [A-Za-z0-9_] --> <!-- required: yes --> <!-- value: string --> <username>admin</username> <!-- Email address of user --> <!-- Must be a valid email address --> <!-- required: no --> <!-- default: "" --> <!-- value: string --> <email_address>admin@example.com</email_address> <!-- Phone number of user --> <!-- required: no --> <!-- default: "" --> <!-- value: string --> <phone_number>218-555-3333</phone_number> <!-- Fax number of user --> <!-- required: no --> <!-- default: "" --> <!-- value: string --> <fax_number>218-555-3334</fax_number> <!-- Organization of user --> <!-- required: no --> <!-- default: "" --> <!-- value: string --> <organization>Example Org</organization> </user>
Contact Element
This element represents a user contact.
<!-- Describes a Contact --> <contact> <!-- URL of this contact --> <!-- value: string --> <contact_url>https://192.168.2.1/ffws/v1/contacts/admin/1</contact_url> <!-- Contact Name --> <!-- required: yes --> <!-- value: string --> <name>contact name</name> <!-- Contact Fax number --> <!-- required: yes --> <!-- value: string --> <fax_number>218-555-3335</fax_number> <!-- Contact Phone Number --> <!-- required: no --> <!-- default: "" --> <!-- value: string --> <phone_number>218-555-3336</phone_number> <!-- Contact Organization --> <!-- required: no --> <!-- default: "" --> <!-- value: string --> <organization>Contacts Org</organization> </contact>