eBay Enterprise Affiliate Network API

Ruby wrapper for eBay Enterprise Affiliate Network API (formerly PepperJam Exchange API). Only Publisher API is supported at this moment. If you need Advertiser API or Partner API, feel free to contribute.

For questions or bugs please create an issue.

Installation

Add this line to your application’s Gemfile:

gem 'ebay_enterprise_affiliate_network'

And then execute:

$ bundle

Or install it yourself as:

$ gem install ebay_enterprise_affiliate_network

Requirements

Ruby 1.9 or above.

Usage

The gem is designed to support all existing and future Publisher API resources.

To start using the gem, you need to set up the api key first. If you use Ruby on Rails, the API key can be set in a configuration file (i.e. app/config/initializers/ebay_enterprise_affiliate_network.rb), otherwise just set it in your script. API Key can be found at http://www.pepperjamnetwork.com/affiliate/api/.

ruby require "ebay_enterprise_affiliate_network" # no need for RoR EBayEnterpriseAffiliateNetwork.api_key = ENV["EEAN_API_KEY"]

Examples

Advertiser Categories

```ruby publisher = EBayEnterpriseAffiliateNetwork::Publisher.new response = publisher.get(“advertiser/category”) response.data.each do |category| puts “#categorycategory.name (ID #categorycategory.id)” end

Retrieve the actual request URL sent to the API

puts response.request.uri.to_s ```

Advertiser Details

Get the list of advertisers that you have a joined relationship with. The second argument of get method accepts a Hash of parameters. See the API documentation for a list of parameters for each API resource. Note that the API resource used must match the ones available in documentation, except the publisher/ prefix that needs to be removed.

```ruby publisher = EBayEnterpriseAffiliateNetwork::Publisher.new response = publisher.get(“advertiser”, status: :joined) # Return the number of total records response.meta.pagination.total_results # Return the number of pages response.meta.pagination.total_pages

response.data.each do |advertiser| # Do something end ``` If there are multiple pages (each page has a maximum of 500 records, value that cannot be changed), you can retrieve all pages by using the all method, as follows:

ruby response.all.each do |advertiser| # Do something end When using the all method, response object is updated with the data returned by the last API request (last page). response.all returns the data array.

Product Creatives

Filter Target products by canon camera keywords.

ruby params = { programIds: 6759, # Target ID keywords: "canon camera" } publisher = EBayEnterpriseAffiliateNetwork::Publisher.new response = publisher.get("creative/product", params) response.data.each do |product| puts "<a href=\"#{product.buy_url}\" title=\"#{product.name}\" target=\"_blank\">#{product.name}</a>" end

Transaction Details

Retrieve all transactions in the last day

ruby require "date" # Note that the API uses ET as time zone, although is not specified anywhere yesterday = (Date.today - 1).to_s today = Date.today.to_s params = { startDate: yesterday, endDate: today, website: 12345 # replace with your website id } publisher = EBayEnterpriseAffiliateNetwork::Publisher.new response = publisher.get("report/transaction-details", params) response.data.each do |transaction| # Generate report end

Website ID can be retrieved from http://www.pepperjamnetwork.com/affiliate.

Extra Configuration

  • EBayEnterpriseAffiliateNetwork.api_base_url - default value is http://api.pepperjamnetwork.com
  • EBayEnterpriseAffiliateNetwork.api_version - default value is 20120402
  • EBayEnterpriseAffiliateNetwork.api_timeout - the timeout set when initiating requests to eBay Enterprise Affiliate Network API (default value is 30 seconds)

Contributing

  1. Fork it
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create new Pull Request

License

MIT