Perfecta

Ruby client for the Perfect Audience reporting api

Installation

Add this line to your application's Gemfile:

gem 'perfecta'

And then execute:

$ bundle

Or install it yourself as:

$ gem install perfecta

Usage

Create a new instance of the Perfecta Client

client = Perfecta : :Client . new do | c | c . email = 'email@ddress' c . password = 'password' end

This will exchange the credentials for an API token and use this token for all subsequent calls.

You can now use the client instance to query the API.

List all Campaign Reports

p client . campaign_reports . inspect

Optional Query Parameters include

Name Type interval ['today','yesterday','last_7_days','last_30_days','lifetime'] start_date 'YYYY-MM-DD' end_date 'YYYY-MM-DD' site_id 'the_site_id' campaign_id 'the_site_id'

and can be used by supplying a hash e.g.

p client . campaign_reports ( interval : 'yesterday' ) . inspect

List all Ad Reports

p client . ad_reports . inspect

Any of the additional query parameters from the above table can be supplied as a hash.

List all Conversion Reports

p client . conversion_reports . inspect

Any of the additional query parameters from the above table can be supplied as a hash.

List all Sites

p client . sites . inspect

Show a single Site

p client . site ( 'SITE_ID' ) . inspect

List all Campaigns

p client . campaigns . inspect

Show a single Campaign

p client . campaign ( 'CAMPAIGN_ID' ) . inspect

List all Ads

p client . ads . inspect

Show a single Ad

p client . ad ( 'AD_ID' ) . inspect

List all Segments

p client . segments . inspect

Show a single Segment

p client . segment ( 'SEGMENT_ID' ) . inspect

List all Conversions

p client . conversions . inspect

Show a single Conversion

p client . conversion ( 'CONVERSION_ID' ) . inspect

TODO

Flesh out the rest of the API Accept query parameters Error handling, specifically for when token expires Relationships and delegation between of objects Get rid of all the duplication

Contributing