jplopez / bing-ads-api

Simple Ruby API for the Bing Ads SOAP Webservices
MIT License
1 stars 25 forks source link

= BingAdsApi

This project rocks and uses MIT-LICENSE.

== Presentation

This is a very simple, straight use gem for integrating any Rails app with the Bing Ads SOAP Webservices.

== Installation

Add to your Gemfile gem 'bing-ads-api'

== Examples So far, I've just integrated some methods from +CampaignManagement+, +CustomerManagement+ and +Reporting+ services

=== Authentication

In all cases, you must initialize some service object with the authentication options Here's an example with the CampaignMangement service object

options = { :environment => :sandbox, :username => "desarrollo_neonline", :password => "neonline2013", :developer_token => "BBD37VB98", :customer_id => "21021746", :account_id => "5978083" } service = BingAdsApi::CampaignManagement.new(options)

=== Campaign Management

Example of service object initialization: options = { :environment => :sandbox, :username => "desarrollo_neonline", :password => "neonline2013", :developer_token => "BBD37VB98", :customer_id => "21021746", :account_id => "5978083" } service = BingAdsApi::CampaignManagement.new(options)

==== Adding Campaigns

account_id = 123456789 campaigns = [ BingAdsApi::Campaign.new( :budget_type => BingAdsApi::Campaign::DAILY_BUDGET_STANDARD, :conversion_tracking_enabled => "false", :daily_budget => 2000, :daylight_saving => "false", :description => name + " first description", :monthly_budget => 5400, :name => name + " first name", :status => BingAdsApi::Campaign::PAUSED, :time_zone => BingAdsApi::Campaign::SANTIAGO),

BingAdsApi::Campaign.new( :budget_type => BingAdsApi::Campaign::DAILY_BUDGET_STANDARD, :conversion_tracking_enabled => "false", :daily_budget => 2500, :daylight_saving => "false", :description => name + " second description", :monthly_budget => 7800, :name => name + " second name", :status => BingAdsApi::Campaign::PAUSED, :time_zone => BingAdsApi::Campaign::SANTIAGO) ] response = service.add_campaigns(account_id, campaigns)

In some cases the methods will return a Hash with the 'response' tag according to the method invoked. Like the example above.

==== Find Campaigns

In other cases, like this next example, the method will return an object, like an array or a object representation of the hash campaigns = service.get_campaigns_by_account_id(123456789)

=> campaigns is an array of BingAdsApi::Campaign

=== Customer Management

Example of service object initialization: options = { :environment => :sandbox, :username => "desarrollo_neonline", :password => "neonline2013", :developer_token => "BBD37VB98", :customer_id => "21021746", :account_id => "5978083" } service = BingAdsApi::CustomerManagement.new(options)

==== Get accounts info accounts = service.get_accounts_info

=> accounts is an array of BingAdsApi::AccountsInfo

For this method you can also specify a diferent customer id accounts = service.get_accounts_info(12345)

=> accounts is an array of BingAdsApi::AccountsInfo

That would give you the customer's 12345 accounts

=== Reporting

==== Submit generate report

==== Poll generate report