CopiaFacts has a rich API for integrating your own applications with fax, email, voice and SMS. We've kept the same file-based core since inception, which has kept integrations scalable, redundant and easy to extend.
Over the years we've added hooks for custom clients and a simple scripting language for the cases a text file alone can't handle.
Every approach reaches the same CopiaFacts engine, so behavior like retries and logging is consistent no matter how a job gets started.
File-Based API
Drop a text file into a folder and CopiaFacts sends a fax, email, SMS or voice message. For e-mail and SMS, an MSMQ interface is also available. Inbound calls can be screened by a Call Control DLL based on DNIS or ANI.
If your application can print, it can fax. Printing to the Fax Save driver or the Mail Merge print driver sends a fax with no additional integration work.
Email-to-Fax API
Any application that can send email can send a fax through the CopiaFacts email-to-fax gateway. Address it to the fax number, like 6417416000@fax.company.com. Office and PDF attachments convert automatically before transmission.
Write complete fax-on-demand and IVR applications, or simple pre/post-processing hooks, with the CopiaFacts scripting language, including database access and calls to external programs.
These are genuine examples from the CopiaFacts Reference Manual, not simplified toy syntax.
Fax job with cover sheet and variables
$fax_filename@FFBASE\image\00001154.TIF$fax_cover@FFBASE\copia.gct$fax_header"Please deliver to @ROUTETO"$fax_sender"Dorothy"$fax_receiver"Ann Other"$fax_send_time17:00:00$fax_phone3105553218$fax_originuser_request$fax_user@FFUSER\fax.usr$var_defComp "Other Company Inc."
A fax job with a cover sheet, a custom header and a variable available to the cover sheet template.
Email job (same engine, same API)
$fax_user@FFUSER\email.usr$email_esender"Steve Hersee" <steve@copia.com>$email_address"Tim Frost" <tim@copia.com>$email_subject"Demonstration message with attachment"$email_text"Attached is a sample PDF file"$email_attach"@FFBASE\sample.pdf" "application/pdf"
Fax, email and voice jobs all use the same file-based API. Only the commands change.
Scripting: extract email-to-fax data
; loop through MEMOx body-text fields$set_varMINDEX 1; index starts at 1$repeat$set_varCURVAR "MEMO"$set_varCURVAR |@MINDEX; -> MEMOx$set_varMDATA @^CURVAR; @^ dereferences it$set_varMINDEX +1$until@MINDEX >= 30
No. The core API is a text file written into a folder, so any language or platform that can write a file can integrate with CopiaFacts.
Is there a REST or HTTP API?
The primary API is file-based, with an MSMQ interface available for email and SMS transactions. If you have a requirement that doesn't fit these approaches, ask us.
How do I know when a fax job finishes?
CopiaFacts moves the job's FS file into a SENT or FAIL folder when it completes, and records the outcome in the daily log file, so your application can monitor either.
Are there working sample applications?
Yes. CopiaFacts ships with sample scripts, and new and updated samples are installed with every release. See the developer resources above.
Talk to Copia
Tell us what you're integrating.
Share your application, platform and which API approach you're considering. Copia can help determine the right integration path.