44 lines
1.0 KiB
Ruby
44 lines
1.0 KiB
Ruby
require 'net/http'
|
|
require 'uri'
|
|
require 'json'
|
|
|
|
class BetterVideo
|
|
def initialize(options={})
|
|
@addvideo_url = options.fetch(:url, "http://servicestest.bettervideo.com/orders/MDS.OrdersWS.svc/addVideo")
|
|
end
|
|
|
|
def addVideo(campaign)
|
|
uri = URI.parse(@addvideo_url)
|
|
header = {}#'Content-Type' => 'text/json'}
|
|
|
|
http = Net::HTTP.new(uri.host, uri.port)
|
|
request = Net::HTTP::Post.new(uri.request_uri, header)
|
|
request.body = campaign[:campaign]
|
|
response = http.request(request)
|
|
|
|
resp = JSON.parse(response.body)
|
|
puts resp
|
|
|
|
if resp["success"]
|
|
resp[:success] = true
|
|
resp[:message] = "Successfully submitted to BetterVideo, Please wait."
|
|
else
|
|
resp[:message] = resp["errormessage"]
|
|
end
|
|
# "{\"errorcode\":1,\"errormessage\":\"There was an error parsing the supplied JSON.\",\"listingcode\":null,\"success\":false,\"videocode\":null}"
|
|
|
|
resp
|
|
end
|
|
|
|
|
|
|
|
private
|
|
def valid_json? json_
|
|
JSON.parse(json_)
|
|
return true
|
|
rescue JSON::ParserError
|
|
return false
|
|
end
|
|
|
|
end
|