REST Summary

The Softlinx Cloud Fax REST API is a lightweight alternative to the ReplixFax SOAP API. It provides a simplified API for sending and retrieving faxes. Requests are made over a secured HTTPS connection.

The list below describes the functionality available with the ReplixFax REST API.

Available Outbound Fax Actions

DescriptionURL
Send a fax. POST /outboundfaxes?FaxNumber={string} {Binary Data}
Send a fax with options. POST /outboundfaxes? {Binary Data}
&FaxRecipient={Recipient Details} &RetryCount={number} &RetryInterval={number}
&SendAfter={datetime} &CoverPageEnabled={boolean} &CoverPageName={string}
&CoverMessage={string} &FaxHeader={string} &FaxHeaderEnabled={boolean}
&NotifyEmailAddress={string} &NotifySuccess={boolean} &NotifyFailed={boolean}
&NotifyFailedAttachFax={boolean} &DeleteAfterSend={boolean} &Priority={number}
&ProjectCode={string} &ProjectCode2={string} &TSI={string}
&FaxUserId={string}
Resend a failed fax. POST /outboundfaxes/{FAXID}/resend
Retrieve metadata for a specific outbound fax. GET /outboundfaxes/{FAXID}
Retrieve metadata for outbound faxes based on search criteria. GET /outboundfaxes?
&DatetimeAfter={date} &DatetimeBefore={date} &FaxUserId={string} &FaxStatus={string}
&ResultLimit={number} &Mark={true|false} &SortColumn={faxId|dateTime}
&SortOrder={asc|desc} &GetNextResults={string}
Retrieve Fax image of a specific outbound fax. GET /outboundfaxes/{FaxId}/image?ContentType={tif|pdf}
Delete an outgoing fax. DELETE /outboundfaxes/{FAXID}
Modify an outbound fax. PUT /outboundfaxes/{FAXID}?Mark={true|false}

Available Inbound Fax Actions

DescriptionURL
Retrieve metadata for a specific inbound fax. GET /inboundfaxes/{FAXID}
Retrieve metadata for inbound faxes based on search criteria. GET /inboundfaxes?
&DatetimeAfter={date} &DatetimeBefore={date} &FaxUserId={string} &FaxStatus={string}
&ResultLimit={number} &Mark={true|false} &SortColumn={faxId|dateTime}
&SortOrder={asc|desc} &GetNextResults={string}
Retrieve metadata for a specific inbound fax. GET /inboundfaxes/{FaxId}/image?ContentType={tif|pdf}
Delete an inbound fax. DELETE /inboundfaxes/{FAXID}
Modify an inbound fax. PUT /inboundfaxes/{FAXID}?Mark={true|false}&ProjectCode={string}&ProjectCode2={string}

Base URL

The base URL is "https://api.rpxtest.com/softlinx/replixfax/restapi/v1", The "v1" denotes version 1 of the APIs. The APIs are documented with relative to the base URL, e.g, for send fax the documented URL is /outboundfaxes so the real URL is https://api.rpxtest.com/softlinx/replixfax/restapi/v1/outboundfaxes.

The URL above is for the Softlinx Cloud Fax test environment. A production URL is provided as part of the customer onboarding process.

HTTP submission method

The HTTP method is denoted with GET, POST, PUT, DELETE keywords.

API arguments

The API parameters can be passed in QUERY_STRING or in the body of the request using "www-form-urlencoded" or "form-datea" formats. Both formats are standard form/url submission formats used by browsers. The "application/www-form-urlencoded" body contains mutliple params "key=value&key=value..." whereas "form-data" is mutlpart/form-data contains one parameter per MIME part and is usually used to send attachments.

Arguments are case sensitive and unrecognized arguments are ignored.

Client credentials

The client userid and password is passed to the API using the Basic Authentication header.

REST API responses

Response HTTP code:

  • 200 OK for success, Most responses should return that. For successful send fax return is 201 Created.
  • 401 Authentication failure Unauthorized - bad username or password
  • 403 Forbidden access denied to a resource
  • 400 Bad Request - Client errors in parameters/URLs
  • 404 Not Found missing resource
  • 500 Server Error - Server processing errors

Response body

All responses return JSON data (application/json) except for retrieving fax image where the image/tiff or application/pdf content is returned. ALL JSON responses contain "RequestStatus" object with StatusCode (0 for success), StatusText members. e.g,

...
"RequestStatus" : {
   "StatusCode" : 0,
   "StatusText" : ""
 }

Outbound Faxes Overview

The ReplixFax API has methods which allow the sending of a fax request, querying the status of an outbound fax, marking an outbound fax, resubmitting a failed outbound fax and deleting an outbound fax.


Send a Fax

Submits a fax to be sent via the server. When the API call returns, the results will contain a Fax identifier that uniquely identifies the outgoing fax. The fax will most likely not have been sent when the call returns. You can query that status of this fax, using the Fax ID return to see when the fax is sent.

Requests:

HTTP:

  POST /softlinx/replixfax/restapi/v1/outboundfaxes HTTP/1.1
  Host: api.rpxtest.com
  Accept: */*
  Authorization: Basic c2V0aEBhY21lOnM=
  Expect: 100-continue

  --------------------------be7d8a34ae65a433
  Content-Disposition: form-data; name="FaxNumber"

  1555111
  --------------------------be7d8a34ae65a433
  Content-Disposition: form-data; name="-dummy-name"; filename="test.pdf"
  Content-Type: application/octet-stream

  [binary data]
  --------------------------be7d8a34ae65a433--

cURL:

  curl https://api.rpxtest.com/softlinx/replixfax/restapi/v1/outboundfaxes -F FaxNumber=15551111 -F -dummy-name=@<
filename
> -u <
username
>:<
password
>

HTTP:

  POST /softlinx/replixfax/restapi/v1/outboundfaxes HTTP/1.1
  Host: api.rpxtest.com
  Accept: */*
  Authorization: Basic c2V0aEBhY21lOnM=
  Expect: 100-continue

  --------------------------be7d8a34ae65a433
  Content-Disposition: form-data; name="FaxNumber"

  15551111
  --------------------------be7d8a34ae65a433
  Content-Disposition: form-data; name="FaxNumber"

  15552222
  --------------------------be7d8a34ae65a433
  Content-Disposition: form-data; name="-dummy-name"; filename="
filename
" Content-Type: application/octet-stream [binary data] --------------------------be7d8a34ae65a433 Content-Disposition: form-data; name="-dummy-name"; filename="
filename2
" Content-Type: application/octet-stream [binary data] --------------------------be7d8a34ae65a433--

cURL:

  curl https://api.rpxtest.com/softlinx/replixfax/restapi/v1/outboundfaxes -F FaxNumber=15551111 -F FaxNumber=15552222
  -F -dummy-name=@<
filename
> -F -dummy-name=@<
filename2
> -u <
username
>:<
password
>

HTTP:

  POST /softlinx/replixfax/restapi/v1/outboundfaxes HTTP/1.1
  Host: api.rpxtest.com
  Accept: */*
  Authorization: Basic c2V0aEBhY21lOnM=
  Expect: 100-continue

  --------------------------76060b1e7d212fba
  Content-Disposition: form-data; name="FaxRecipient"

  { "FaxNumber": "555-1212", "RcptName": "Alice Doherty" }
  --------------------------76060b1e7d212fba
  Content-Disposition: form-data; name="FaxRecipient"

  { "FaxNumber": "555-1212", "RcptName": "Alice Doherty" }
  --------------------------76060b1e7d212fba
  Content-Disposition: form-data; name="CoverPageName"

  memo
  --------------------------76060b1e7d212fba
  Content-Disposition: form-data; name="CoverPageEnabled"

  true
  --------------------------76060b1e7d212fba
  Content-Disposition: form-data; name="-dummy-name"; filename="test.pdf"
  Content-Type: application/octet-stream

  [binary data]
  --------------------------76060b1e7d212fba--

cURL:

  curl https://api.rpxtest.com/softlinx/replixfax/restapi/v1/outboundfaxes
  -F FaxRecipient=" { \"FaxNumber\": \"555-1212\", \"RcptName\": \"Alice Doherty\" }"
  -F FaxRecipient=" { \"FaxNumber\": \"555-3212\", \"RcptName\": \"John Doe\" }"
  -F dummy-name=@<
filename
> -F CoverPageEnabled=true -F CoverPageName=memo -u <
username
>:<
password
>

HTTP:

  POST /softlinx/replixfax/restapi/v1/outboundfaxes HTTP/1.1
  Host: api.rpxtest.com
  Accept: */*
  Authorization: Basic c2V0aEBhY21lOnM=
  Expect: 100-continue

  --------------------------be7d8a34ae65a433
  Content-Disposition: form-data; name="FaxNumber"

  1555111
  --------------------------be7d8a34ae65a433
  Content-Disposition: form-data; name="SendAfter"

  2016-04-01T13:30:45-0500
  --------------------------be7d8a34ae65a433
  Content-Disposition: form-data; name="-dummy-name"; filename="test.pdf"
  Content-Type: application/octet-stream

  [binary data]
  --------------------------be7d8a34ae65a433--

cURL:

  curl https://api.rpxtest.com/softlinx/replixfax/restapi/v1/outboundfaxes -F FaxNumber=15551111 -F -dummy-name=@<
filename
> -F SendAfter=2016-04-01T13:30:45-0500 -u <
username
>:<
password
>

Response:

There will be a different FaxId for each unique FaxNumber sumitted in the request.

HTTP/1.1 201
Content-Length: 
length
Content-Type: application/json; charset=utf-8 { "FaxInfo" : [ { "FaxId" : 247, "FaxNumber" : "15551111" }, { "FaxId" : 248, "FaxNumber" : "15552222" } ], "RequestStatus" : { "StatusCode" : 0, "StatusText" : "" } }

POST /outboundfaxes

Arguments


NameTypeDescription
FaxNumberstringFor US or Canadian numbers, start with a leading "1". For international calls, start with a leading "+".
FaxRecipient (multi-valued)Information about the recipient of the fax, including fax number.

FaxRecipient

NameTypeDescription
FaxNumberstringDestination fax number field (required), e.g., 17915551212. Note: a "1" is required for US and Canadian numbers. A "+" should proceed international numbers.
RcptNamestringRecipient name field (used in Cover page template).
RcptCompanystringCompany name field (used in Cover page template).
RcptTitlestringTitle field (used in Cover page template).
RcptFaxstringFax number field (used in Cover page template).
RcptVoicestringVoice number field (used in Cover page template).
RetryCountNumber of times to attempt to send the fax. This includes the initial attempt and any retries. It is recommended that the RetryCount be set between 3 and 5. The cloud service will enforce a minimal and maximum value to ensure optimal performance.

NonNegativeInt

TypeDescription
stringAn integer greater than or equal to 0.
RetryIntervalNumber of minutes between attempts to send the fax. It is recommended that the Retry Interval be set between 10 and 20 minutes. The cloud service will enforce a minimum and maximum value to ensure optimal performance.

PositiveInt

TypeDescription
stringAn integer greater than 0.
SendAfterDate/time after which to attempt to send the fax. If missing, attempts to send as soon as possible.

datetime

Description

The valid formats for date/time parameters are a subset of the ISO 8601 specification:

YYYY-MM-DDThh:mmTZ or YYYY-MM-DDThh:mm:ssTZ, where TZ is the time zone and the format of this is either "Z" or (+|-)hh:mm. The “:” between the hour and minutes in the time zone is optional. Examples are:

  • 2010-01-31T13:30:45Z "Z" stands for GMT time zone
  • 2010-01-31T14:30:45+01:00
  • 2010-01-31T13:30:45-0500
CoverPageEnabledUsed to indicate whether a cover page is used. If you set the CoverPageName to a value, then you need to set this to true. If you set this to "true" and do not set a CoverPageName, then the default cover page will be used.

Boolean

ValuesDescription
trueTrue
falseFalse.
CoverPageNamestringCover page name that is stored in the fax server cover page directory. A Softlinx customer service representative can assist in creating custom cover pages.
CoverMessagestringCover page message goes into "message" field on the cover page.
CoverFieldThe "FieldId" attribute specifies the cover page field id. This allows you to populate cover page fields that do not have parameter names (e.g, RcptName, CoverMessage). A Softlinx customer service representative can assist in creating custom cover pages that include custom fields.

PositiveInt

TypeDescription
stringAn integer greater than 0.
CoverFieldCCstringCover page CC field.
FaxHeaderstring containing Indicates content of fax header. Will only be used is FaxHeaderEnabled is set to true. The Fax Header can contains static text and keywords that are replaced with real data. The default fax header format is date/time + TSI + pages.

Fax Header Keywords

Keywords are case sensitive.

ValuesDescription
%t% character
%tTime
%dDate
%PPage number
%pTotal pages
%iSender TSI
%jSender name
%kSender DID (fax number)
%lSender telephone number
%mSender email
%nSend job id
%aRecipient name
%bRecipient company name
%cRecipient title
%eRecipient fax number
%fRecipient telephone number
%CNCover page field with field id N, N is a number, eg %C333 to insert cover page 333
FaxHeaderEnabledUsed to indicate if the fax header should be included in the fax.

Boolean

ValuesDescription
trueTrue
falseFalse.
NotifyEmailAddressstringEmail address to send fax notifications.
NotifySuccessUsed to enable/disable email notification after fax was sent successfully.

Boolean

ValuesDescription
trueTrue
falseFalse.
NotifyFailedUsed to enable/disable email notification after a fax send failed.

Boolean

ValuesDescription
trueTrue
falseFalse.
NotifyFailedAttachFaxUsed to enable/disable fax image attachment in the email notification after send failure.

Boolean

ValuesDescription
trueTrue
falseFalse.
DeleteAfterSendUsed to delete/keep fax files on disk after successful send. After send failure faxes are always kept.

Boolean

ValuesDescription
trueTrue
falseFalse.
FaxDescriptionstringThe fax description does not become part of the fax image, but becomes part of fax meta data and is returned from QuerySendFax API.
PriorityFax sending priority (0 to 10). This value is ignored by the cloud service. All faxes have the same priority.

NonNegativeInt

TypeDescription
stringAn integer greater than or equal to 0.
ProjectCodestringApplication specific string. If set, this will overwrite the account number associated with the user.
ProjectCode2stringApplication specific string, aka reference keyword.
TSIstringTransmitting station identifier is the string that the receiving fax device displays on the device LCD. The maximum number of characters for this string is 20. Any value more than 20 characters will be truncated when the fax is sent. The TSI string can be part of the fax header.
FaxUserIdstringSpecifies the owner of the fax. Normally the fax owner is determined from the HTTP request authentication, but your current credentials may allow (if configured so by the fax administrator) to specify a different owner. E.g, your login credentials are "bob" but your application may decide to assign the ownership to "mary" (so "bob" proxies sends fax for "mary").
Text2tiffFontNamestringFont name when converting text to tiff image. Backend specific, is very unlikely you will ever need to use this.
PageOrientationUse "landscape" or "portrait" to specify the orientation of data on imaged pages for un-paginated input. Applies to text attachments.

PageOrientation

ValuesDescription
landscapeAll pages are landscape in document.
portraitAll pages are portrait in document.
PageSizestringReserved. Do not specify.
CoverMessageCharsPerLineReserved

PositiveInt

TypeDescription
stringAn integer greater than 0.
BatchNamestringUsed by the Batch Loader.
BatchUniqueIdstringUsed by the Batch Loader.

Response

NameTypeDescription
FaxInfoList of Information about the Fax job(s) created.

NewSendFaxInfo

NameTypeDescription
FaxIdstringOutgoing fax identifier.
FaxNumberstringOutgoing fax number.
RequestStatusCheck for StatusCode = "0" to verify that request executed correctly.

RequestStatus

NameTypeDescription
StatusCodeError number.

NonNegativeInt

TypeDescription
stringAn integer greater than or equal to 0.
StatusTextstringDescription of error.

Resend a Fax

Resend a fax to a different fax number. This can only be executed against outgoing faxes that have a status of "sendFailed". When the API call returns, the results will contain a new Fax identifier that uniquely identifies the outgoing fax. The fax will most likely not have been sent when the call returns. You can query that status of this fax, using the Fax ID return to see when the fax is sent. Note: the original fax will be deleted.

HTTP:

POST /softlinx/replixfax/restapi/v1/outboundfaxes/
FaxId
/resend HTTP/1.1 Host: api.rpxtest.com Accept: */* Authorization: Basic c2V0aEBhY21lOnM= Expect: 100-continue Content-Length:
length
Content-Type: multipart/form-data; boundary=------------------------ebd2a8f966f531ab --------------------------ebd2a8f966f531ab Content-Disposition: form-data; name="FaxNumber" 15551234444 --------------------------ebd2a8f966f531ab--

cURL:

  curl https://api.rpxtest.com/softlinx/replixfax/restapi/v1/outboundfaxes/
FaxId
/resend -F FaxNumber=15551234444 -u <
username
>:<
password
>

Response:

HTTP/1.1 201
Content-Length: 
length
Content-Type: application/json; charset=utf-8 { "FaxInfo" : [ { "FaxId" :
id
, "FaxNumber" : "
fax number
" } ], "RequestStatus" : { "StatusCode" : 0, "StatusText" : "" } }

POST /outboundfaxes/{FAXID}/resend

Arguments

NameTypeDescription
FaxNumberstringNew destination fax number. Ex: 15556780912

Response

NameTypeDescription
FaxInfoInformation about the Fax job created.

NewSendFaxInfo

NameTypeDescription
FaxIdstringOutgoing fax identifier.
FaxNumberstringOutgoing fax number.
RequestStatusCheck for StatusCode = "0" to verify that request executed correctly.

RequestStatus

NameTypeDescription
StatusCodeError number.

NonNegativeInt

TypeDescription
stringAn integer greater than or equal to 0.
StatusTextstringDescription of error.

Query Outbound Faxes

Search outbound faxes based on criteria such as fax id to retrieve fax metadata, e.g, fax status, date/time the fax was sent, duration, etc.

Requests:

HTTP:

GET /softlinx/replixfax/restapi/v1/outboundfaxes/
FaxId
HTTP/1.1 Host: api.rpxtest.com Accept: */* Authorization: Basic c2V0aEBhY21lOnM= Expect: 100-continue

cURL:

  curl -G https://api.rpxtest.com/softlinx/replixfax/restapi/v1/outboundfaxes/
FaxId
-u <
username
>:<
password
>

HTTP:

GET /softlinx/replixfax/restapi/v1/outboundfaxes?FaxStatus=sent&DatetimeAfter=20160201T00:00:00Z HTTP/1.1
  Host: api.rpxtest.com
  Accept: */*
  Authorization: Basic c2V0aEBhY21lOnM=
  Expect: 100-continue

cURL:

  curl -G https://api.rpxtest.com/softlinx/replixfax/restapi/v1/outboundfaxes?DatetimeAfter=
Datetime
-u <
username
>:<
password
>

Response:

RequestStatus will always be returned. The FaxInfo item will only be present if at least one fax is found that meets the search criteria. There will be a FaxInfo array item for each fax returned that meets the search criteria.

HTTP/1.1 200
Content-Length: 
length
Content-Type: application/json; charset=utf-8 { "FaxInfo" : [ { "FaxId" :
FaxId
, "GroupId" : 0, "FaxUserId" : "
UserId
", "FaxNumber" : "
Fax Number
", "FaxStatus" : "sent", "CompleteTime" : "2015-02-06T06:00:21Z", "CreateTime" : "2015-02-06T01:48:48Z", "SendAfter" : "2015-02-06T06:00:00Z", "TSI" : "", "CSI" : "
CSI
", "Duration" : 15, "ErrorCode" : 0, "ErrorText" : "", "PagesTotal" : 1, "PagesSent" : 1, "FaxQuality" : "high", "RetryCount" : 3, "RetryCountLeft" : 2, "RetryInterval" : 15, "CoverPageName" : "", "RcptInfo" : "", "Priority" : 5, "FaxDescription" : "", "DeleteAfterSend" : false, "NotifyEmailAddress" : "
email address
, "NotifySuccess" : true, "NotifyFailed" : true, "NotifyFailedAttachFax" : false, "FaxHeaderEnabled" : true, "PrintAfterSend" : false, "ProjectCode" : "", "ProjectCode2" : "", "ImgHost" : "
host
", "ImgDevice" : "", "ImgCountry" : "1", "ProxyFaxUserId" : "", "Mark" : true, "BatchName" : "", "BatchUniqueId" : "", "FaxHeader" : " %d %t %i Page %P of %p" } ], "RequestStatus" : { "StatusCode" : 0, "StatusText" : "" } }

GET /outboundfaxes/{FAXID}

GET /outboundfaxes/{criteria in query string}

Arguments

 
NameTypeDescription
FaxIdFax identifier.

PositiveInt

TypeDescription
stringAn integer greater than 0.
DatetimeAfterDate/time that limits the results to faxes that have been updated (or completed when fax has a final status of sent or sendFailed) at specified or later date/time.

datetime

Description

The valid formats for date/time parameters are a subset of the ISO 8601 specification:

YYYY-MM-DDThh:mmTZ or YYYY-MM-DDThh:mm:ssTZ, where TZ is the time zone and the format of this is either "Z" or (+|-)hh:mm. The “:” between the hour and minutes in the time zone is optional. Examples are:

  • 2010-01-31T13:30:45Z "Z" stands for GMT time zone
  • 2010-01-31T14:30:45+01:00
  • 2010-01-31T13:30:45-0500
DatetimeBeforeDate/time that limits the results to faxes that have been updated (or completed when fax has a final status of sent or sendFailed) at specified or earlier date/time.

datetime

Description

The valid formats for date/time parameters are a subset of the ISO 8601 specification:

YYYY-MM-DDThh:mmTZ or YYYY-MM-DDThh:mm:ssTZ, where TZ is the time zone and the format of this is either "Z" or (+|-)hh:mm. The “:” between the hour and minutes in the time zone is optional. Examples are:

  • 2010-01-31T13:30:45Z "Z" stands for GMT time zone
  • 2010-01-31T14:30:45+01:00
  • 2010-01-31T13:30:45-0500
FaxUserIdstringLimit faxes returned to those owned by specific fax user id. If the username set in the credentials does not have the proxy user privilege, this parameter will be ignored.
FaxStatusQuery for specific fax status.

SendFaxStatus

ValuesDescription
sentSent Faxes.
sendFailedFaxes that cannot be sent.
awaitingConversionFaxes waiting to be converted to TIFF Fax format.
awaitingCoverpageFaxes waiting for a cover page template.
scheduledFaxes waiting to be sent.
sendingFaxes in the process of being sent.
Mark"true" or "false". Do not set to return both marked and unmarked faxes.

Boolean

ValuesDescription
trueTrue
falseFalse.
BatchNamestringUsed by the Batch Loader.
BatchUniqueIdstringUsed by the Batch Loader.
SortColumnSpecify which column to sort on. Only certain columns are supported.

QuerySendFaxSortColumn

ValuesDescription
faxIdFax Identifier
dateTimeLast modified time
SortOrderSort how results are returned.

QuerySortOrder

ValuesDescription
ascSort ascending.
descSort descending.
ResultLimitLimit number of fax records to specific amount.

PositiveInt

TypeDescription
stringAn integer greater than 0.
GetNextResultsstringIf a query was issued with the ResultLimit set and the results HasMoreResults is "true", then there are more results that match the criteria. To get to the next set of faxes, reissue the query, but set GetNextResults to the value returned in the ResultsReference attribute. If GetNextResults is set, then any changes to the original search criteria on subsequent queries is ignored, except for ResultLimit. In other words, if GetNextResults is set, you cannot alter the query when getting the next set of faxes, except for the number of faxes to return.

Response

NameTypeDescription
FaxInfoList of Information about the Fax job(s) created.

SendFaxInfo

NameTypeDescription
FaxIDUnique fax identifier.

PositiveInt

TypeDescription
stringAn integer greater than 0.
GroupId Fax group identifier. If a fax request is made with multiple recipients, then a unique fax request is generated for each recipient. The group identifier for all of these faxes will be the same. It will be the fax id of the first fax in the group.

NonNegativeInt

TypeDescription
stringAn integer greater than or equal to 0.
FaxUserIdstringID of the user that sent the fax.
FaxNumberstringOutgoing fax number.
FaxStatusStatus of fax.

SendFaxStatus

ValuesDescription
sentSent Faxes.
sendFailedFaxes that cannot be sent.
awaitingConversionFaxes waiting to be converted to TIFF Fax format.
awaitingCoverpageFaxes waiting for a cover page template.
scheduledFaxes waiting to be sent.
sendingFaxes in the process of being sent.
CompleteTimestringDate/time fax was completed (fax is completed when it reaches status of "sent" or "sendFailed") or last updated (fax status is other than final).
CreateTimestringDate/time fax was created.
SendAfterstringDate/time value of "SendAfter" SendFax request API input argument.
TSIstring

TSI and CSI

TSI (Transmitting Station Identifier) is a string that a sending fax machine sends to the receiving fax machine. The receiving fax machine usually displays this value on the fax machines LCD display.

CSI (Called Station Identifier) is a string that a receiving fax machine sends to the sending fax machine. The sending fax machine usually displays this string on the fax machines LCD display.

TSI and CSI are transmitted during initial stage of the fax protocol negotiation

CSIstring

TSI and CSI

TSI (Transmitting Station Identifier) is a string that a sending fax machine sends to the receiving fax machine. The receiving fax machine usually displays this value on the fax machines LCD display.

CSI (Called Station Identifier) is a string that a receiving fax machine sends to the sending fax machine. The sending fax machine usually displays this string on the fax machines LCD display.

TSI and CSI are transmitted during initial stage of the fax protocol negotiation

DurationFax duration in seconds.

NonNegativeInt

TypeDescription
stringAn integer greater than or equal to 0.
ErrorCodeNumeric error code of the error encountered by the fax server backend.

SendErrors

Error CodeError Text (may vary with same error code)Cause
0Cannot retrieve record … No record foundSystem issue.
 Cannot open fax file.System issue.
 Unable to retrieve user info.System issue.
 Cannot combine fax files.System issue.
 Invalid phone number. Missing digits.System issue.
1000Call rejectedPotentially recipient rejected call.
 Temporary failureTelco network unavailable.
 Cannot open fax file.System issue.
 Answer - Marked by SilencePotentially is not a fax number.
 Retrieve fax file failedSystem issue.
 Dial TonePotentially is not a fax number.
 RMTOFFHOOKTelco issue.
 Recovery on timer expirationTelco issue.
 Network read: Network read. 10054:Connection reset.System issue.
 Unallocated numberTelco issue.
 Network out of orderTelco issue.
 Dial: Call collision detected.Telco issue.
 Service not implemented; unspecifiedTelco issue.
 Interrupted. Server shutdownSystem issue.
 Coverpage and fax merge failed.System issue.
 Invalid phone number. Missing digits.Invalid fax number.
 Cannot retrieve fax files.System issue.
 Custom IMG not member of configured IMGsSystem issue.
 Invalid number formatInvalid fax number.
 Transmission errorTelco issue.
1002BusyBusy
1003Circuits BusyTemporary problem establishing a call.
1004No answerRing, but no answer.
1005No fax tonePotentially is not a fax number.
1009sit intercept toneTelco network busy.
 sit vacant toneTelco issue.
 sit no circuit toneTelco issue.
 sit reorder toneTelco issue.
1041Fax number rejected by fax server fax number restriction …Intentionally blocked fax number.
1100Call answered. Possibly by a personPotentially is not a fax number.
1101Dial - no answer from central officePotentially is not a fax number.
1102Dial - call disconnectedProblem establishing a call.
1103fax processing excessive durationFax file may be too large.
3002FaxBegin/FaxEndDoc/FaxRemoteInfo/FaxSendPage/FaxTraining … Page ? rejected by recipient. ConfVal …Fax transmission issue.
3002FaxBegin/FaxEndDoc/FaxRemoteInfo/FaxSendPage/FaxTraining … Fax transmission issue.
 Page ? rejected by recipient. ConfVal …Fax transmission issue.
 TiffNextPage …Fax transmission issue.
4001Error converting document to FAX.Fax input file invalid.
ErrorTextstringText string corresponding to ErrorCode, empty for no error.
PagesTotalNumber of all fax pages in the outgoing fax.

NonNegativeInt

TypeDescription
stringAn integer greater than or equal to 0.
PagesSentNumber of pages sent.

NonNegativeInt

TypeDescription
stringAn integer greater than or equal to 0.
FaxQuality reserved

FaxQuality

ValuesDescription
low204x98 resolution
high204x196 resolution
RetryCountNumber of times to attempt to send the fax.

NonNegativeInt

TypeDescription
stringAn integer greater than or equal to 0.
RetryCountLeftNumber of times to attempt to send the fax.

NonNegativeInt

TypeDescription
stringAn integer greater than or equal to 0.
RetryIntervalNumber of minutes between attempts to send the fax.

NonNegativeInt

TypeDescription
stringAn integer greater than or equal to 0.
CoverPageNamestringCover page template name used in this fax.
RcptInfostringValues from SendFax FaxRecipient argument, separated by ":".
Priority reserved
FaxDescriptionstring Value specified when making a SendFax call.
DeleteAfterSendIf "true" then the fax is deleted after it is successfully sent.

Boolean

ValuesDescription
trueTrue
falseFalse.
NotifyEmailAddressstringNotification email address.
NotifySuccessUsed to enable/disable email notification after fax was sent successfully.

Boolean

ValuesDescription
trueTrue
falseFalse.
NotifyFailedUsed to enable/disable email notification after a fax send failed.

Boolean

ValuesDescription
trueTrue
falseFalse.
NotifyFailedAttachFaxUsed to enable/disable fax image attachment in the email notification after send failure.

Boolean

ValuesDescription
trueTrue
falseFalse.
FaxHeaderEnabledTrue if fax includes a fax header.

Boolean

ValuesDescription
trueTrue
falseFalse.
PrintAfterSendreserved

Boolean

ValuesDescription
trueTrue
falseFalse.
ProjectCodestringApplication specific string. This is the account number associated with the fax.
ProjectCode2stringApplication specific string. This is the keywords associated with the fax.
ProjectCode3stringApplication specific string.
ProjectCode4stringApplication specific string.
ProjectCode5stringApplication specific string.
ImgHoststringIMG host or IP that received this fax.
ImgDevicestringIMG fax device.
ImgCountrystringreserved
Reserved2stringreserved
ProxyFaxUserIdstring Fax user id which created this fax.
MarkTags the fax to allow searching for un-tagged faxes.

Boolean

ValuesDescription
trueTrue
falseFalse.
BatchNamestring Set by Batch Loader.
BatchUniqueIdstringSet by Batch Loader.
ReservedDM1"true" if delivery manager has retrieved this fax.

Boolean

ValuesDescription
trueTrue
falseFalse.
ReservedDM2stringInformation about the machine running the Delivery Manager.
FaxHeaderstring containing Header text.

Fax Header Keywords

Keywords are case sensitive.

ValuesDescription
%t% character
%tTime
%dDate
%PPage number
%pTotal pages
%iSender TSI
%jSender name
%kSender DID (fax number)
%lSender telephone number
%mSender email
%nSend job id
%aRecipient name
%bRecipient company name
%cRecipient title
%eRecipient fax number
%fRecipient telephone number
%CNCover page field with field id N, N is a number, eg %C333 to insert cover page 333
HasMoreResultsIf "ResultLimit" input argument provided and the number of records exceeds the limit, only limited number of records is returned and this result indicates that there were records from the query.

Boolean

ValuesDescription
trueTrue
falseFalse.
ResultsReferencestringA key that is set if there are more faxes that meet the search criteria but are not returned in the results. Use this key in the GetNextResults attribute in the subsequent query to retrieve the next set of faxes.
RequestStatusCheck for StatusCode = "0" to verify that request executed correctly.

RequestStatus

NameTypeDescription
StatusCodeError number.

NonNegativeInt

TypeDescription
stringAn integer greater than or equal to 0.
StatusTextstringDescription of error.

Get Outbound Fax Content

Retreive outbound fax images in either TIFF or PDF format.

HTTP:

GET /softlinx/replixfax/restapi/v1/outboundfaxes/
FaxId
/image?FaxContentType=pdf HTTP/1.1 Host: api.rpxtest.com Accept: */* Authorization: Basic c2V0aEBhY21lOnM= Expect: 100-continue

cURL:

  curl -X PUT https://api.rpxtest.com/softlinx/replixfax/restapi/v1/outboundfaxes/
FaxId
-u <
username
>:<
password
>

Response:

HTTP/1.1 200
Content-Disposition: inline; filename="
filename
" Content-Type: application/pdf Content-Length:
length
[binary data]

GET /outboundfaxes/{FaxId}/image

Arguments

NameTypeDescription
FaxContentTypeFax document format. If not specified, document will be returned in TIFF format.

FaxContentType

ValuesDescription
tifTiff format
pdfPDF format

Response

Binary data.

Delete an Outbound Fax

Delete outgoing faxes from the fax server.

HTTP:

DELETE /softlinx/replixfax/restapi/v1/outboundfaxes/
FaxId
HTTP/1.1 Host: api.rpxtest.com Accept: */* Authorization: Basic c2V0aEBhY21lOnM=

cURL:

  curl -X DELETE https://api.rpxtest.com/softlinx/replixfax/restapi/v1/outboundfaxes/
FaxId
-u <
username
>:<
password
>

Response:

HTTP/1.1 201
Content-Length: 
length
Content-Type: application/json; charset=utf-8 { "RequestStatus" : { "StatusCode" : 0, "StatusText" : "" } }

DELETE /outboundfaxes/{FAXID}

Arguments

none

Response

NameTypeDescription
RequestStatusCheck for StatusCode = "0" to verify that request executed correctly.

RequestStatus

NameTypeDescription
StatusCodeError number.

NonNegativeInt

TypeDescription
stringAn integer greater than or equal to 0.
StatusTextstringDescription of error.

Modify an Outbound Fax

Mark an outbound fax as "read".

HTTP:

PUT /softlinx/replixfax/restapi/v1/outboundfaxes/
FaxId
HTTP/1.1 Content-Length:
length
Content-Type: multipart/form-data; boundary=------------------------4963e4417900b4cc Accept: */* Authorization: BASIC UUEtMTBcUmVwbGl4OlJlcGxpeA== Expect: 100-continue Host: api.rpxtest.com --------------------------4963e4417900b4cc Content-Disposition: form-data; name="Mark" true --------------------------4963e4417900b4cc--

cURL:

  curl -X PUT https://api.rpxtest.com/softlinx/replixfax/restapi/v1/outboundfaxes/
FaxId
-F Mark=true -u <
username
>:<
password
>

Response:

HTTP/1.1 201
Content-Length: 
length
Content-Type: application/json; charset=utf-8 { "RequestStatus" : { "StatusCode" : 0, "StatusText" : "" } }

PUT /outboundfaxes/{FAXID}

Arguments

NameTypeDescription
MarkIndicate whether or not to mark the fax.

Boolean

ValuesDescription
trueTrue
falseFalse.

Response

NameTypeDescription
RequestStatusCheck for StatusCode = "0" to verify that request executed correctly.

RequestStatus

NameTypeDescription
StatusCodeError number.

NonNegativeInt

TypeDescription
stringAn integer greater than or equal to 0.
StatusTextstringDescription of error.

Inbound Faxes Overview

The ReplixFax API has methods which querying the status of a received fax, marking an inbound fax, and deleting an inbound fax.


Query Inbound Faxes

Search inbound faxes based on criteria such as fax id to retrieve fax metadata, e.g, fax status, date/time the fax was received, sender, etc.

HTTP:

Searching for a single Fax

GET /softlinx/replixfax/restapi/v1/inboundfaxes/
FaxId
HTTP/1.1 Host: api.rpxtest.com Accept: */* Authorization: Basic c2V0aEBhY21lOnM= Expect: 100-continue

Searching for faxes that were received after a specific date

  GET /softlinx/replixfax/restapi/v1/inboundfaxes?DatetimeAfter=20160201T00:00:00Z HTTP/1.1
  Host: api.rpxtest.com
  Accept: */*
  Authorization: Basic c2V0aEBhY21lOnM=
  Expect: 100-continue

cURL:

  curl https://api.rpxtest.com/softlinx/replixfax/restapi/v1/inboundfaxes/
FaxId
-u <
username
>:<
password
>

Response:

HTTP/1.1 200
Content-Length: 
length
Content-Type: application/json; charset=utf-8 { "FaxInfo" : [ { "FaxId" :
fax id
"FaxUserId" : "
username
", "FaxStatus" : "recvOk", "TSI" : "Softlinx Inc.", "CSI" : "", "ReceivedTime" : "2015-02-20T18:42:58Z", "CreateTime" : "2015-02-20T18:42:58Z", "PagesReceived" : 1, "DestFaxNumber" : "12223334444", "CallerNumber" : "", "Duration" : 0, "ErrorCode" : 0, "ErrorText" : "", "NotifyEmail" : true, "NotifyAttachFax" : true, "PrintFax" : false, "Viewed" : true, "ImgHost" : "127.0.0.1", "ImgDevice" : "network", "Caption" : "", "Note" : "", "ImgCountry" : "", "Mark" : true, "ProjectCode" : "", "ProjectCode2" : "" } ], "RequestStatus" : { "StatusCode" : 0, "StatusText" : "" } }

GET /inboundfaxes/{FAXID}

GET /inboundfaxes/{criteria in query string}

Arguments

 
NameTypeDescription
DatetimeAfterDate/time that limit the results to faxes that have been received at specified or later date/time.

datetime

Description

The valid formats for date/time parameters are a subset of the ISO 8601 specification:

YYYY-MM-DDThh:mmTZ or YYYY-MM-DDThh:mm:ssTZ, where TZ is the time zone and the format of this is either "Z" or (+|-)hh:mm. The “:” between the hour and minutes in the time zone is optional. Examples are:

  • 2010-01-31T13:30:45Z "Z" stands for GMT time zone
  • 2010-01-31T14:30:45+01:00
  • 2010-01-31T13:30:45-0500
DatetimeBeforeDate/time that limit the results to faxes that have been received at specified or earlier date/time.

datetime

Description

The valid formats for date/time parameters are a subset of the ISO 8601 specification:

YYYY-MM-DDThh:mmTZ or YYYY-MM-DDThh:mm:ssTZ, where TZ is the time zone and the format of this is either "Z" or (+|-)hh:mm. The “:” between the hour and minutes in the time zone is optional. Examples are:

  • 2010-01-31T13:30:45Z "Z" stands for GMT time zone
  • 2010-01-31T14:30:45+01:00
  • 2010-01-31T13:30:45-0500
FaxUserIdstringLimit faxes retrieved to those owned by specific fax user id. Unless your current login is configured as a proxy user, you should leave this field empty as the fax server will only return faxes owned by your current login.
Mark"true" or "false". Do not set to return both marked and unmarked faxes.

Boolean

ValuesDescription
trueTrue
falseFalse.
FaxStatusQuery for specific fax status.

ReceiveFaxStatus

ValuesDescription
recvOkFax received.
recvIncompleteError during receive.
ResultLimitLimit number of fax records to specific amount.

PositiveInt

TypeDescription
stringAn integer greater than 0.
GetNextResultsIf a query was issued with the ResultLimit set and the results HasMoreResults is "true", then there are more results that match the criteria. To get to the next set of faxes, reissue the query, but set GetNextResults to the value returned in the ResultsReference attribute. If GetNextResults is set, then any changes to the original search criteria on subsequent queries is ignored, except for ResultLimit. In other words, if GetNextResults is set, you cannot alter the query when getting the next set of faxes, except for the number of faxes to return.

Boolean

ValuesDescription
trueTrue
falseFalse.
SortColumnColumn to use for sorting during the query.

QueryReceiveFaxSortColumn

ValuesDescription
faxIdFax ID.
dateTimeLast modified time.
SortOrderSort order of query.

QuerySortOrder

ValuesDescription
ascSort ascending.
descSort descending.

QueryReceiveFaxOutput

NameTypeDescription
FaxInfoList of Information about the Fax job(s) created.

ReceiveFaxInfo

NameTypeDescription
FaxIDPositiveIntUnique fax identifier.
FaxUserIdstringID of the user that received the fax.
FaxStatusReceiveFaxStatusStatus of fax.
TSIstringTransmitting Station Identifier
CSIstringCalled Station Identifier
ReceivedTimestringDate/time fax was received.
CreateTimestringDate/time fax was created.
PagesReceivedNumber of pages received.

NonNegativeInt

TypeDescription
stringAn integer greater than or equal to 0.
DestFaxNumberstringDestination fax number represents the number that was dialed by the sender or a fax number associated with the fax line.
CallerNumberstringCalling party number, if available.
DurationFax duration in seconds.

NonNegativeInt

TypeDescription
stringAn integer greater than or equal to 0.
ErrorCodeNumeric status of the error encountered, 0 – for no error, specific to the fax server backend.

NonNegativeInt

TypeDescription
stringAn integer greater than or equal to 0.
ErrorTextstringText string corresponding to ErrorCode, empty for no error.
NotifyEmailTrue if email notification was sent when fax was received.

Boolean

ValuesDescription
trueTrue
falseFalse.
NotifyAttachFaxTrue if fax was attached to the email notification.

Boolean

ValuesDescription
trueTrue
falseFalse.
PrintFaxTrue if fax was printing after it was received.

Boolean

ValuesDescription
trueTrue
falseFalse.
ViewedTrue if fax is marked as viewed.

Boolean

ValuesDescription
trueTrue
falseFalse.
ImgHoststringIMG host or IP that received this fax.
ImgDevicestringIMG fax device.
CaptionstringIf fax was routed from another user, then this is the message from that user.
NotestringIndicates which user routed fax.
ImgCountrystringreserved
MarkAfter retrieving the fax, you can mark it so it does nto appear in subsequent queries.

Boolean

ValuesDescription
trueTrue
falseFalse.
ProjectCodestringApplication specific string.
ProjectCode2stringApplication specific string, aka reference keyword.
RequestStatusCheck for StatusCode = "0" to verify that request executed correctly.

RequestStatus

NameTypeDescription
StatusCodeError number.

NonNegativeInt

TypeDescription
stringAn integer greater than or equal to 0.
StatusTextstringDescription of error.
ResultsReferencestringA key that is set if there are more faxes that meet the search criteria but are not returned in the results. Use this key in the GetNextResults attribute in the subsequent query to retrieve the next set of faxes.

Get Inbound Fax Content

Retreive inbound fax images in either TIFF or PDF format.

HTTP:

GET /softlinx/replixfax/restapi/v1/inboundfaxes/
FaxId
/image?FaxContentType=pdf HTTP/1.1 Host: api.rpxtest.com Accept: */* Authorization: Basic c2V0aEBhY21lOnM= Expect: 100-continue

cURL:

  curl -X PUT https://api.rpxtest.com/softlinx/replixfax/restapi/v1/inboundfaxes/
FaxId
-u <
username
>:<
password
>

Response:

HTTP/1.1 200
Content-Disposition: inline; filename="
filename
" Content-Type: application/pdf Content-Length:
length
[binary data]

GET /inboundfaxes/{FaxId}/image

Arguments

NameTypeDescription
FaxContentTypeFax document format. If not specified, document will be returned in TIFF format.

FaxContentType

ValuesDescription
tifTiff format
pdfPDF format

Response

Binary data.

Delete an Inbound Fax

Delete a received fax from the server.

HTTP:

DELETE /softlinx/replixfax/restapi/v1/inboundfaxes/
FaxId
HTTP/1.1 Host: api.rpxtest.com Accept: */* Authorization: Basic c2V0aEBhY21lOnM=

cURL:

  curl -X DELETE https://api.rpxtest.com/softlinx/replixfax/restapi/v1/outboundfaxes/
FaxId
-u <
username
>:<
password
>

Response:

HTTP/1.1 201
Content-Length: 
length
Content-Type: application/json; charset=utf-8 { "RequestStatus" : { "StatusCode" : 0, "StatusText" : "" } }

DELETE /inboundfaxes/{FAXID}

Arguments

none

Response

NameTypeDescription
RequestStatusCheck for StatusCode = "0" to verify that request executed correctly.

RequestStatus

NameTypeDescription
StatusCodeError number.

NonNegativeInt

TypeDescription
stringAn integer greater than or equal to 0.
StatusTextstringDescription of error.

Modify an Inbound Fax

Mark an inbound fax as "read".

HTTP:

PUT /softlinx/replixfax/restapi/v1/inboundfaxes/
FaxId
HTTP/1.1 Content-Length:
length
Content-Type: multipart/form-data; boundary=------------------------4963e4417900b4cc Accept: */* Authorization: BASIC UUEtMTBcUmVwbGl4OlJlcGxpeA== Expect: 100-continue Host: api.rpxtest.com --------------------------4963e4417900b4cc Content-Disposition: form-data; name="Mark" true --------------------------4963e4417900b4cc--

cURL:

  curl -X PUT https://api.rpxtest.com/softlinx/replixfax/restapi/v1/inboundfaxes/
FaxId
-F Mark=true -u <
username
>:<
password
>

Response:

HTTP/1.1 201
Content-Length: 
length
Content-Type: application/json; charset=utf-8 { "RequestStatus" : { "StatusCode" : 0, "StatusText" : "" } }

PUT /inboundfaxes/{FAXID}

Arguments

NameTypeDescription
MarkIndicate whether or not to mark the fax.

Boolean

ValuesDescription
trueTrue
falseFalse.
ProjectCodestringApplication specific string. Account number associated with fax.
ProjectCode2stringApplication specific string. Keyword associated with fax.

Response

NameTypeDescription
RequestStatusCheck for StatusCode = "0" to verify that request executed correctly.

RequestStatus

NameTypeDescription
StatusCodeError number.

NonNegativeInt

TypeDescription
stringAn integer greater than or equal to 0.
StatusTextstringDescription of error.