Guest User

Untitled

a guest
Dec 16th, 2018
105
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.72 KB | None | 0 0
  1. require 'net/http'
  2. require 'json'
  3.  
  4. module Zendesk
  5. class Zdclient
  6.  
  7. def initialize
  8. @uri = URI('https:/.zendesk.com/')
  9. @http = Net::HTTP.new(@uri.host, '443')
  10. @username = ""
  11. @pass = ""
  12. @http.use_ssl = true
  13. @http.verify_mode = OpenSSL::SSL::VERIFY_PEER
  14. end
  15.  
  16. def find_user(email)
  17. request = Net::HTTP::Get.new('/api/v2/users/search.json?query={email="' + email + '"}', initheader = {'Content-Type' =>'application/json'})
  18. request.basic_auth(@username, @pass)
  19. response = @http.request(request)
  20. found_users = JSON.parse response.body
  21.  
  22. if found_users["count"] > 0
  23. return found_users["users"][0]["id"]
  24. else
  25. return -1
  26. end
  27. end
  28.  
  29. def create_user(name, email, phone)
  30. @user ={
  31. "user" => {
  32. "name" => name,
  33. "email" => email,
  34. "phone" => phone
  35. }
  36. }.to_json
  37.  
  38. request = Net::HTTP::Post.new("/api/v2/users.json", initheader = {'Content-Type' =>'application/json'})
  39. request.basic_auth @username, @pass
  40. request.body = @user
  41. response = @http.request(request)
  42. new_user = JSON.parse response.body
  43.  
  44. if new_user.has_key?("user")
  45. return new_user["user"]["id"]
  46. else
  47. return 0
  48. end
  49. end
  50.  
  51. def create_ticket(req_id, subject, description)
  52. @ticket ={
  53. "ticket" => {
  54. "requester_id" => req_id,
  55. "description" => description,
  56. "subject" => subject
  57. }
  58. }.to_json
  59.  
  60. request = Net::HTTP::Post.new("/api/v2/tickets.json", initheader = {'Content-Type' =>'application/json'})
  61. request.basic_auth @username, @pass
  62. request.body = @ticket
  63. response = @http.request(request)
  64. end
  65. end
  66. end
Add Comment
Please, Sign In to add comment