module Yclients::Api::ServiceCategories

Constants

URL1
URL2

Public Instance Methods

service_categories(company_id, args={}) click to toggle source

id (Number, 1234) ID категории услуг (для работы с конкретной категорией) staff_id (Number, 1234) ID сотрудника (для получения категорий, привязанных к сотруднику)

# File lib/yclients/api/service_categories.rb, line 10
def service_categories(company_id, args={})
  id = query_param(:id, args[:id], :numeric)[:id] if args.key?(:id)
  uri = URI(id.nil? ? "#{URL2}/#{company_id}" : "#{URL2}/#{company_id}/#{id}")
  params = {}
  params.merge!(query_param(:staff_id, args[:staff_id], :numeric)) if args.key?(:staff_id)
  uri.query = URI.encode_www_form(params)

  req = Net::HTTP::Get.new(uri, headers({ auth: false }))

  res = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) do |http|
    http.request(req)
  end

  json = JSON.parse(res.body)
  if json.kind_of?(Array)
    json
  else
    raise ServiceCategoriesAccessError, json.to_s
  end
end
service_category(company_id, id) click to toggle source
# File lib/yclients/api/service_categories.rb, line 31
def service_category(company_id, id)
  uri = URI("#{URL1}/#{company_id}/#{id}")
  req = Net::HTTP::Get.new(uri, headers({ auth: false }))

  res = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) do |http|
    http.request(req)
  end

  json = JSON.parse(res.body)
  if json.kind_of?(Hash) && json.key?('id')
    json
  else
    raise ServiceCategoriesAccessError, json.to_s
  end
end