This project rocks and uses MIT-LICENSE.
This is a very simple, straight use gem for integrating any Rails app with the Bing Ads SOAP Webservices.
Add to your Gemfile
gem 'bing-ads-api'
So far, I’ve just integrated some methods from CampaignManagement
, CustomerManagement
and Reporting
services
In all cases, you must initialize some service object with the authentication options Here’s an example with the CampaignMangement service object
Starting with Bing Ads API version 12, only OAuth authentication is supported via the AuthenticationToken header element. Managed credentials i.e., the UserName and Password header elements are not supported.¶ ↑
options = { :authentication_token => "SOME TOKEN", :environment => :sandbox, :developer_token => "BBD37VB98", :customer_id => "21021746", :account_id => "5978083" } service = BingAdsApi::CampaignManagement.new(options)
-
environment
can be one of two values::sandbox
or:production
Example of service object initialization:
options = { :authentication_token => "SOME TOKEN", :environment => :sandbox, :developer_token => "BBD37VB98", :customer_id => "21021746", :account_id => "5978083" } service = BingAdsApi::CampaignManagement.new(options)
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.
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
Example of service object initialization:
options = { :environment => :sandbox, :authentication_token => "SOME TOKEN", :developer_token => "BBD37VB98", :customer_id => "21021746", :account_id => "5978083" } service = BingAdsApi::CustomerManagement.new(options)
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