class TrustPilot::NewInvitation

Public Class Methods

call(recipient_email: "", recipient_name: "", tags: [], reference_id: "", preferred_send_time: "") click to toggle source
# File lib/trust_pilot/api/new_invitation.rb, line 19
def self.call(recipient_email: "", recipient_name: "", tags: [], reference_id: "", preferred_send_time: "")
  check_default
  parse_response do_call(recipient_email, recipient_name, tags, reference_id, preferred_send_time)
end

Private Class Methods

check_default() click to toggle source
# File lib/trust_pilot/api/new_invitation.rb, line 50
def self.check_default
  unless business_user_id && template_id && locale && sender_name && sender_email && reply_to && redirect_uri
    raise MissingDefault
  end
end
do_call(recipient_email, recipient_name, tags, reference_id, preferred_send_time) click to toggle source
# File lib/trust_pilot/api/new_invitation.rb, line 30
def self.do_call(recipient_email, recipient_name, tags, reference_id, preferred_send_time)
  endpoint = "/#{business_user_id}/invitations"
  query = {token: Token.get}
  body = {
    "businessUserId" => business_user_id,
    "recipientEmail" => recipient_email,
    "recipientName" => recipient_name,
    "referenceId" => reference_id,
    "templateId" => template_id,
    "locale" => locale,
    "senderEmail" => sender_email,
    "senderName" => sender_name,
    "replyTo" => reply_to,
    "preferredSendTime" => preferred_send_time,
    "tags" => tags,
    "redirectUri" => redirect_uri
  }
  post endpoint, body: body, query: query
end
parse_response(response) click to toggle source
# File lib/trust_pilot/api/new_invitation.rb, line 26
def self.parse_response(response)
  RecursiveOpenStruct.new(response)
end