Ruby library for accessing eFax Developer service.
First you need to provide your account id and credentials:
EFax::Request.account_id = <your account id> EFax::Request.user = <your login> EFax::Request.password = <your password>
Sending an HTML page using eFax service is pretty simple:
response = EFax::OutboundRequest.post(recipient_name, company_name, fax_number, subject, content)
EFax::RequestStatus class for details on status codes.
Having ID of your request, you can get its current status:
response = EFax::OutboundStatus.post(doc_id)
The status response has the following attributes:
response.status_code response.message # "user friendly" status message
EFax::QueryStatus class for details on status codes.
Inbound faxes work by exposing a URL that EFax can post to when it receives a fax on your account. An example end-point in rails might look like this:
class InboundFaxesController < AdminController def create efax = EFax::InboundPostRequest.receive_by_params(params) Fax.create(:file => efax.file, :name => efax.name) # etc render :text => efax.post_successful_message # This is important to let EFax know you successfully processed the incoming request. end end
You can generate a
EFax::InboundPostRequest based on optional explicit fields by using a helper method
In your tests:
require "efax/helpers/inbound_helpers" describe InboundFax do include EFax::Helpers::InboundHelpers it "should create a fax from efax data" do person = Person.make person.save efax = efax_inbound_post(:barcode => person.barcode_number) fax = InboundFax.create_from_efax!(efax) fax.person.should == person end end