1Multi-Tech Systems, Inc. FaxFinder Web Service API Developer Guider
Page 2
LEGAL NOTICES AND CONTACT INFORMATION
FaxFinder Web Services API Developer Guide
2
FaxFinder Web Services API Developer Guide
Country
By Email
By Phone
Europe, Middle East, Africa:
support@multitech.co.uk
+(44) 118 959 7774
U.S., Canada, all others:
support@multitech.com
(800) 972-2439 or (763) 717-5863
FF240, FF440, FF840, FF240-IP
S000578, Version 1.1.02
Copyright
This publication may not be reproduced, in whole or in part, without prior expressed written permission from Multi-Tech Systems, Inc. All rights reserved.
Multi-Tech Systems, Inc. makes no representations or warranties with respect to the contents hereof and specifically disclaims any implied warranties of
merchantability or fitness for any particular purpose. Furthermore, Multi-Tech Systems, Inc. reserves the right to revise this publication and to make
changes from time to time in the content hereof without obligation of Multi-Tech Systems, Inc. to notify any person or organization of such revisions or
changes. Check Multi-Tech’s web site for current versions of our product documentation.
Trademarks
Multi-Tech Registered Trademarks: FaxFinder, Multi-Tech, and the Multi-Tech logo.
All other products and technologies are the trademarks or registered trademarks of their respective holders.
Contacting Multi-Tech
Knowledge Base
The Knowledge Base provides immediate access to support information and resolutions for all Multi-Tech products. Visit
http://www.multitech.com/kb.go.
Support Portal
To create an account and submit a support case directly to our technical support team, visit: https://support.multitech.com
Support
Business Hours: M-F, 9am to 5pm CT
World Headquarters
Multi-Tech Systems, Inc.
2205 Woodale Drive
Mounds View, Minnesota 55112
Phone: 763-785-3500 or 800-328-9717
Fax: 763-785-9874
Warranty
To read the warranty statement for your product, please visit: http://www.multitech.com/warranty.go.
Page 3
CONTENTS
3
FaxFinder Web Services API Developer Guide
Contents
General Information ..................................................................................................................................................5
Additional Information ........................................................................................................................................................ 5
Scheduling a Fax .................................................................................................................................................................. 6
Aborting a Fax Entry ............................................................................................................................................................ 9
Rescheduling a Fax Entry .................................................................................................................................................. 10
User Functions ......................................................................................................................................................... 11
Viewing User Information ................................................................................................................................................. 11
Verify User ......................................................................................................................................................................... 11
Adding a User .................................................................................................................................................................... 12
Editing a User .................................................................................................................................................................... 13
Contact and Group Functions ................................................................................................................................... 14
Adding New Contacts ........................................................................................................................................................ 15
Viewing Groups ................................................................................................................................................................. 17
Creating a New Group ....................................................................................................................................................... 18
Editing Groups ................................................................................................................................................................... 19
Deleting Groups ................................................................................................................................................................ 20
Viewing Group IDs ............................................................................................................................................................. 20
Fax Status ................................................................................................................................................................ 23
Viewing Modem, Channel, System, Printer, and Share Status ......................................................................................... 23
Viewing Channel Status (FF240-IP only) ........................................................................................................................... 24
Viewing Modem Status (FF240, FF440, FF840) ................................................................................................................. 25
Viewing Inbound Fax Status .............................................................................................................................................. 25
Viewing Outbound Fax Status ........................................................................................................................................... 26
Viewing Store and Forward (T.37) Settings....................................................................................................................... 38
Editing Store and Forward (T.37) Settings ........................................................................................................................ 39
Viewing Modem Settings (FF240, FF440, or FF840) ......................................................................................................... 39
Editing Modem Settings (FF240, FF440, or FF840) ........................................................................................................... 40
Viewing Add Global Contacts Status of Non-Admin Users ............................................................................................... 44
About FaxFinder ...................................................................................................................................................... 45
Viewing Information about the FaxFinder ........................................................................................................................ 45
Elements ................................................................................................................................................................. 46
General Status Codes ........................................................................................................................................................ 46
Schedule Fax Element ....................................................................................................................................................... 46
Fax Entry Element ............................................................................................................................................................. 49
User Element ..................................................................................................................................................................... 51
Contact Element ................................................................................................................................................................ 52
Group Element .................................................................................................................................................................. 52
Inbound Routing Fax Element ........................................................................................................................................... 53
Page 5
GENERAL INFORMATION
5
FaxFinder Web Services API Developer Guide
General Information
This document illustrates the HTTP/XML communication between the FaxFinder Web Service (FFWS) and a client.
FFWS provides an interface to FFx40 and FF240-IP 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.
Examples
Examples included in this document are also available through the Multi-Tech System Developer Resources
website at multitech.net. This site includes a developer forum.
Additional Information
For more information about these functions, consult your FaxFinder Administrator Guide or Help File.
Page 6
FAXING
FaxFinder Web Services API Developer Guide
6
Faxing
Limits
Request size: 36MB
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. The response
message may provide more details.
An application can schedule a fax by posting the schedule fax XML to the ofax resource. If the fax is scheduled
successfully, a response is returned with the scheduled entries.
Notes:
Place each file that you want to attach as fax pages in an attachment element.
Inline attachments are attachments with the file contents inserted in the content tag.
Use base64 to encode inline attachments.
Unless the file basename is not unique among the attachments, the attachment name can usually be set to the
file basename.
The name is used primarily for error responses, so if you want to know which attachment failed, make this field
unique.
Set the attachment content type to match the type of the file being transferred. For Example, if attaching a PDF,
set the content type to “application/pdf”. FaxFinder uses content type to convert the file into fax pages. It does
not attempt to guess the content type.
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.
class=pending|sending|complete
Retrieve faxes by class.
include_modem_info=true|false
Include modem level information in the response (init_time, connect_time, ...).
Requesting this information increases the response size. Modem information only
exists after the modem has completed at least one full attempt.
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
at=TIME
TIME := now | DATETIME_UTC_URLENCODED
DATETIME_UTC_URLENCODED := YYYY-MM-DDTHH%3AMM%3ASS
HTTP Request
Line
PUT /ffws/v1/ofax/FAXKEY/ENTRYKEY?at=TIME HTTP/1.1
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
1
2
3
4
5
6
PUT /ffws/v1/ofax/0000001B/0000?at=2008-08-09T22%3A30%3A00 HTTP/1.1
content-type: application/xml
authorization: Basic YWRtaW46YWRtaW4=
Search for contacts by field name. If you specify more than one, they are
concatenated with AND.
order=field name
Sort contacts by field name. Not available for FFx30 models.
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
HTTP Response
Status Codes
200 OK
Shows contact information.
403 Forbidden
Authenticated user does not have permission to view data
associated with username.
404 Not Found
No user found with that username.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
GET /ffws/v1/contacts/admin HTTP/1.1
content-type: application/xml
authorization: Basic YWRtaW46YWRtaW4=
-----------------------------------
HTTP/1.1 200 OK
content-type: application/xml
<?xmlversion=”1.0”encoding=”UTF-8”?>
<response>
<name>New Group from API</name>
<description>Can I create one from the API</description>
<contact>https://dot3/ffws/v1/contacts/admin/23</contact>
<contact>https://dot3/ffws/v1/contacts/admin/24</contact>
<contact>https://dot3/ffws/v1/contacts/admin/25</contact>
<contact>https://dot3/ffws/v1/contacts/admin/26</contact>
<contact_group_url>https://dot3/ffws/v1/contact_groups/admin/14</contact_group_url>
<name>New Group from API</name>
<description>Can I create one from the API</description>
<contact>https://dot3/ffws/v1/contacts/admin/23</contact>
<contact>https://dot3/ffws/v1/contacts/admin/24</contact>
<contact>https://dot3/ffws/v1/contacts/admin/25</contact>
<contact>https://dot3/ffws/v1/contacts/admin/26</contact>
</contact_group>
</response>
HTTP Request
Line
PUT /ffws/v1/contact_groups/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
Editing Groups
Page 20
CONTACT AND GROUP FUNCTIONS
FaxFinder Web Services API Developer Guide
20
Example
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
PUT /ffws/v1/contact_groups/admin/6 HTTP/1.1
content-type: application/xml
authorization: Basic YWRtaW46YWRtaW4=
<?xmlversion=”1.0”encoding=”UTF-8”?>
<contact_group>
GET /ffws/v1/status HTTP/1.1
GET /ffws/v1/status/MODEM HTTP/1.1 (FF240, FF440, or FF840)
GET /ffws/v1/status/CHANNEL HTTP/1.1 (FF240-IP)
GET /ffws/v1/status/SYSTEM HTTP/1.1
GET /ffws/v1/status/PRINTER HTTP/1.1
GET /ffws/v1/status/SHARE HTTP/1.1
GET /ffws/v1/routes HTTP/1.1
GET /ffws/v1/routes/global HTTP/1.1
GET /ffws/v1/routes/lines HTTP/1.1 (FF240, FF440, or FF840)
GET /ffws/v1/routes/lines/line_number HTTP/1.1 (FF240, FF440, or FF840)
GET /ffws/v1/routes/default HTTP/1.1 (FF240-IP only)
GET /ffws/v1/routes/recipients HTTP/1.1
GET /ffws/v1/routes/recipients/ID HTTP/1.1
-----------------------------------
HTTP/1.1 200 OK
content-type: application/xml
<?xmlversion=”1.0” encoding=”UTF-8”?>
<response>
<message>Deleted</message>
</response>
HTTP Request
Line
PUT /ffws/v1/routes/global HTTP/1.1
PUT /ffws/v1/routes/default HTTP/1.1
PUT /ffws/v1/routes/lines/line_number HTTP/1.1
PUT /ffws/v1/routes/recipient/ID HTTP/1.1
HTTP Response
Status Codes
200 OK
Modified successfully.
403 Forbidden
Authenticated user does not have permission to change data.
404 Not Found
Route not found.
400 Bad Request
The provided XML is not valid.
Deleting Inbound Routes
Example
Editing Inbound Routes
Page 38
FAXFINDER CONFIGURATION
FaxFinder Web Services API Developer Guide
38
Example
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
PUT /ffws/v1/routes/global HTTP/1.1
content-type: application/xml
authorization: Basic YWRtaW46YWRtaW4=
<?xmlversion=”1.0”encoding=”UTF-8”?>
<global>
<!-- 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 -->
<!-- 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 -->
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:
Schedule Fax Element
Most elements under schedule_fax are optional. If an element is left out, an appropriate default or an empty
string will be substituted.
<!-- 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 -->
<!-- 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 -->
<!-- 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 is the highest -->
<!-- A higher priority fax will send before a lower priority fax -->
<!-- when there is 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 -->
<!-- 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 -->
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.
<!-- 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. -->
<!-- Describes destination option-->
<!-- required: yes -->
<!-- Can be one of: -->
<!--Email -->
<!--Notify -->
<!-- User ->
<!--Notify User -->
<!--Share -->
<!-- Sftp -->
<!-- Print -->
<type>Email </type>
<!-- Additional information required based on type -->
<!--For Email value = the email address -->
<!-- For Notify value = the email address -->
<!-- For User value = username - ->
<!-- For Notify User value = username -->
<!-- For Share value = network share folder-->
<!-- For Sftp value = SFTP server -->
<!-- For Print value = printer -->
<!-- For Trash no value needed-->
<!—Indicates which line -->
<!-- required: yes -->
<!-- value: string -->
<line_number>1</line_number>
<!-- Describes which line -->
<!-- required: no -->
<!-- default: “” -->
<!-- value: string -->
<description>first line</description>
<destination>
<!-- Describes destination option-->
<!-- required: yes -->
<!-- Can be one of: -->
<!--Email -->
<!--Notify -->
<!-- User ->
<!--Notify User -->
<!--Share -->
<!-- Sftp -->
<!-- Print -->
<!-- Trash -->
<type>Email</type>
<!-- Additional information required based on type -->
<!--For Email value = the email address -->
<!-- For Notify value = the email address -->
<!-- For User value = username - ->
<!-- For Notify User value = username -->
<!-- For Share value = network share folder-->
<!-- For Sftp value = SFTP server -->
<!-- For Print value = printer name -->
<!-- For Trash no value needed-->
<value>cla@mts.test</value>
</destination>
</line>
</lines>
<!-- Describes default routing for FF240-IP-->
<default>
<destination>
<!-- Describes destination option-->
<!-- required: yes -->
<!-- Can be one of: -->
<!--Email -->
<!--Notify -->
<!-- User ->
<!--Notify User -->
<!--Share -->
<!-- Sftp -->
<!-- Print -->
<!-- Trash -->
<type>User</type>
<!-- Additional information required based on type -->
<!--For Email value = the email address -->
<!-- For Notify value = the email address -->
<!-- For User value = username - ->
<!-- For Notify User value = username -->
<!-- For Share value = network share folder-->
<!-- For Sftp value = SFTP server -->
<!-- For Print value = printer name -->
<!-- For Trash no value needed-->
<type>Email</type>
<!-- Additional information required based on type -->
<!--For Email value = the email address -->
<!-- For Notify value = the email address -->
<!-- For User value = username - ->
<!-- For Notify User value = username -->
<!-- For Share value = network share folder-->
<!-- For Sftp value = SFTP server -->
<!-- For Print value = printer name -->
<!-- For Trash no value needed-->
<value>test2@email</value>
</destination>
</recipient>
</recipients>
Loading...
+ hidden pages
You need points to download manuals.
1 point = 1 manual.
You can buy points or you can get point for every manual you upload.