Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- require 'net/http'
- require 'json'
- module Zendesk
- class Zdclient
- def initialize
- @uri = URI('https:/.zendesk.com/')
- @http = Net::HTTP.new(@uri.host, '443')
- @username = ""
- @pass = ""
- @http.use_ssl = true
- @http.verify_mode = OpenSSL::SSL::VERIFY_PEER
- end
- def find_user(email)
- request = Net::HTTP::Get.new('/api/v2/users/search.json?query={email="' + email + '"}', initheader = {'Content-Type' =>'application/json'})
- request.basic_auth(@username, @pass)
- response = @http.request(request)
- found_users = JSON.parse response.body
- if found_users["count"] > 0
- return found_users["users"][0]["id"]
- else
- return -1
- end
- end
- def create_user(name, email, phone)
- @user ={
- "user" => {
- "name" => name,
- "email" => email,
- "phone" => phone
- }
- }.to_json
- request = Net::HTTP::Post.new("/api/v2/users.json", initheader = {'Content-Type' =>'application/json'})
- request.basic_auth @username, @pass
- request.body = @user
- response = @http.request(request)
- new_user = JSON.parse response.body
- if new_user.has_key?("user")
- return new_user["user"]["id"]
- else
- return 0
- end
- end
- def create_ticket(req_id, subject, description)
- @ticket ={
- "ticket" => {
- "requester_id" => req_id,
- "description" => description,
- "subject" => subject
- }
- }.to_json
- request = Net::HTTP::Post.new("/api/v2/tickets.json", initheader = {'Content-Type' =>'application/json'})
- request.basic_auth @username, @pass
- request.body = @ticket
- response = @http.request(request)
- end
- end
- end
Add Comment
Please, Sign In to add comment