Sha256: c99e1bb9d88be7b28db11da415df1a4c39ace37250f3ab59225b1ffa2dbe5a7f

Contents?: true

Size: 1.79 KB

Versions: 4

Compression:

Stored size: 1.79 KB

Contents

require_relative '../core/base_service'

module Naver
  module Searchad
    module Api
      module Campaign
        class Service < Naver::Searchad::Api::Core::BaseService

          def initialize
            super('https://api.naver.com/', 'ncc/')
          end

          def list_campaigns_by_ids(campaign_ids, options: nil, &block)
            command = make_command(:get, 'campaigns/', options)
            command.query['ids'] = campaign_ids.join(',')
            execute_command(command, &block)
          end

          def get_campaign(campaign_id, options: nil, &block)
            command = make_command(:get, 'campaigns/{campaign_id}', options)
            command.params['campaign_id'] = campaign_id
            execute_command(command, &block)
          end

          def create_campaign(campaign, options: nil, &block)
            validates_presence_of(%w[campaignTp name customerId], campaign)

            command = make_command(:post, 'campaigns', options)
            command.request_object = campaign
            execute_command(command, &block)
          end

          def update_campaign(campaign, field: nil, options: nil, &block)
            validates_presence_of(%w[nccCampaignId], campaign)

            command = make_command(:put, 'campaigns/{campaign_id}', options)
            command.params['campaign_id'] = campaign['nccCampaignId']
            command.query['fields'] = field if field
            command.request_object = campaign
            execute_command(command, &block)
          end

          def delete_campaign(campaign_id, options: nil, &block)
            command = make_command(:delete, 'campaigns/{campaign_id}', options)
            command.params['campaign_id'] = campaign_id
            execute_command(command, &block)
          end
        end
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
naver-searchad-api-0.0.4 lib/naver/searchad/api/campaign/service.rb
naver-searchad-api-0.0.3 lib/naver/searchad/api/campaign/service.rb
naver-searchad-api-0.0.2 lib/naver/searchad/api/campaign/service.rb
naver-searchad-api-0.0.1 lib/naver/searchad/api/campaign/service.rb