Class: YandexDirect::VCard

Inherits:
Object
  • Object
show all
Defined in:
lib/services/vcard.rb

Constant Summary collapse

SERVICE =
'vcards'

Class Method Summary collapse

Class Method Details

.add(params) ⇒ Object



10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# File 'lib/services/vcard.rb', line 10

def self.add(params)
  vcard = { "CampaignId": params[:campaign_id],
            "Country": params[:country],
            "City": params[:city],
            "CompanyName": params[:company_name],
            "WorkTime": params[:work_time],
            "Phone": {
              "CountryCode": params[:country_code],
              "CityCode": params[:city_code],
              "PhoneNumber": params[:phone_number],
              "Extension": params[:phone_extension],
            }
          }
  %w(Street House Building Apartment ExtraMessage Ogrn ContactEmail MetroStationId ContactPerson).each do |key| 
    vcard[key] = params[key.underscore.to_sym] if params[key.underscore.to_sym].present?
  end
  vcard["InstantMessenger"] = {"MessengerClient": params[:messenger_client], "MessengerLogin": params[:messenger_login]} if params[:messenger_client].present? && params[:messenger_login].present?
  YandexDirect.request(SERVICE, 'add', {"VCards": [vcard]})["AddResults"].first["Id"]
end

.delete(ids) ⇒ Object



30
31
32
# File 'lib/services/vcard.rb', line 30

def self.delete(ids)
  YandexDirect.request(SERVICE, 'delete', {"SelectionCriteria": {"Ids": ids}})
end

.get(ids = nil) ⇒ Object



4
5
6
7
8
# File 'lib/services/vcard.rb', line 4

def self.get(ids = nil)
  params = {"FieldNames": ["Id", "Country", "City", "Street", "House", "Building", "Apartment", "CompanyName", "ExtraMessage", "ContactPerson", "ContactEmail", "MetroStationId", "CampaignId", "Ogrn", "WorkTime", "InstantMessenger", "Phone", "PointOnMap"]}
  params["SelectionCriteria"] = {"Ids": ids} if ids.present?
  YandexDirect.request(SERVICE, 'get', params)["VCards"] || []
end