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