class EjabberdApiClient def initialize @base_url = ENV["EJABBERD_API_URL"] end def post(endpoint, payload) res = Faraday.post("#{@base_url}/#{endpoint}", payload.to_json, "Content-Type" => "application/json") if res.status != 200 Rails.logger.error "[ejabberd] API request failed:" Rails.logger.error res.body #TODO add some kind of exception tracking/notifications end end def add_rosteritem(payload) post "add_rosteritem", payload end def send_message(payload) post "send_message", payload end end