README.md in phaxio-0.4.1 vs README.md in phaxio-0.5.0
- old
+ new
@@ -1,8 +1,8 @@
# Phaxio
-[![Build Status](https://travis-ci.org/gristmill/phaxio.svg)](https://travis-ci.org/gristmill/phaxio)
+[![Build Status](https://travis-ci.org/phaxio/phaxio-ruby.svg?branch=master)](https://travis-ci.org/phaxio/phaxio-ruby)
A Ruby gem for interacting with the [Phaxio API]( https://www.phaxio.com/docs ).
**Note: This gem only runs on Ruby version 1.9.+**
@@ -34,21 +34,26 @@
Phaxio.send_fax(to: "0123456789", filename: File.new("test.pdf"))
### Currently Supported API Calls
* send_fax - `Phaxio.send_fax(to: "0123456789", filename: File.new("test.pdf"))`
+* resend_fax - `Phaxio.resend_fax(id: 1234)`
* test_receive - `Phaxio.test_receive(filename: "test_file.pdf")`
* provision_number - `Phaxio.provision_number(area_code: 802)`
* release_number - `Phaxio.release_number(number: "8021112222")`
* list_numbers - `Phaxio.list_numbers(area_code: 802)`
-* get_fax_file - `Phaxio.get_fax_file(id: 123456, type: p)`
+* get_fax_file - `Phaxio.get_fax_file(id: 123456, type: p)`
* list_faxes - `Phaxio.list_numbers(area_code: 802)`
-* list_faxes - `Phaxio.list_faxes(start: Time.now - 48000,
-end: Time.now)`
+* list_faxes - `Phaxio.list_faxes(start: Time.now - 48000, end: Time.now)`
* get_fax_status - `Phaxio.get_fax_status(id: 123456)`
* cancel_fax - `Phaxio.cancel_fax(id: 123456)`
+* delete_fax - `Phaxio.delete_fax(id: 1234, files_only: true)`
* get_account_status - `Phaxio.get_account_status`
+* attach_phaxcode_to_pdf - `Phaxio.attach_phaxcode_to_pdf(x: 10, y:10, File.new("input.pdf"))`
+* create_phaxcode - `Phaxio.create_phaxcode(metadata: "some metadata")`
+* supported_countries
+* area_codes
### Example
require 'phaxio'
@@ -62,9 +67,38 @@
# Get a Fax and save it as a PDF
@pdf = Phaxio.get_fax_file(id: @fax["faxId"], type: "p")
File.open("received_test.pdf", "w") do |file|
file << @pdf
+ end
+
+## Callback Validation Example with Sinatra
+
+ require 'sinatra/base'
+ require 'phaxio'
+
+ class PhaxioCallbackExample < Sinatra::Base
+ Phaxio.config do |config|
+ config.api_key = '0123456789'
+ config.api_secret = '0123456789'
+ config.callback_token = '0123456789'
+ end
+
+ post '/phaxio_callback' do
+ if Phaxio.valid_callback_signature?(
+ request.env['HTTP_X_PHAXIO_SIGNATURE'],
+ request.url, callback_params, params[:filename])
+ 'Success'
+ else
+ 'Invalid callback signature'
+ end
+ end
+
+ def callback_params
+ params.select do |key, _value|
+ %w(success is_test direction fax metadata).include?(key)
+ end
+ end
end
## Contributing
1. Fork it