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'
endThis 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.inspectOptional 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').inspectList all Ad Reports
p client.ad_reports.inspectAny of the additional query parameters from the above table can be supplied as a hash.
List all Conversion Reports
p client.conversion_reports.inspectAny of the additional query parameters from the above table can be supplied as a hash.
List all Sites
p client.sites.inspectShow a single Site
p client.site('SITE_ID').inspectList all Campaigns
p client.campaigns.inspectShow a single Campaign
p client.campaign('CAMPAIGN_ID').inspectList all Ads
p client.ads.inspectShow a single Ad
p client.ad('AD_ID').inspectList all Segments
p client.segments.inspectShow a single Segment
p client.segment('SEGMENT_ID').inspectList all Conversions
p client.conversions.inspectShow a single Conversion
p client.conversion('CONVERSION_ID').inspectTODO
Flesh out the rest of the APIAccept query parameters- Error handling, specifically for when token expires
- Relationships and delegation between of objects
Get rid of all the duplication
Contributing
- Fork it
- Create your feature branch (
git checkout -b my-new-feature) - Commit your changes (
git commit -am 'Add some feature') - Push to the branch (
git push origin my-new-feature) - Create new Pull Request