Skip to content

Instantly share code, notes, and snippets.

@OzielAlexander
Created December 28, 2025 02:12
Show Gist options
  • Select an option

  • Save OzielAlexander/40c7d8f578d7b759165dca8b8598ae78 to your computer and use it in GitHub Desktop.

Select an option

Save OzielAlexander/40c7d8f578d7b759165dca8b8598ae78 to your computer and use it in GitHub Desktop.
require 'net/http'
require 'uri'
require 'json'
# Clase encargada de la conexión con la API de EasyBroker
class EasyBrokerClient
BASE_URL = 'https://api.stagingeb.com/v1/properties'
API_KEY = '17u502p8v46ba3ppgvj5y2aad501b9'
def fetch_all_properties
uri = URI.parse(BASE_URL)
request = Net::HTTP::Get.new(uri)
request["X-Authorization"] = API_KEY
request["accept"] = "application/json"
response = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) do |http|
http.request(request)
end
handle_response(response)
rescue StandardError => e
puts "Error de conexión: #{e.message}"
[]
end
private
def handle_response(response)
if response.code == '200'
JSON.parse(response.body)['content']
else
puts "Error en la API: #{response.code} - #{response.message}"
[]
end
end
end
# Clase para imprimir los resultados
class PropertyPrinter
def self.print_titles(properties)
if properties.empty?
puts "No se encontraron propiedades."
else
puts "Lista de Títulos de Propiedades:"
puts "-" * 30
properties.each { |prop| puts "- #{prop['title']}" }
end
end
end
# Ejecución del Script (Prueba básica)
client = EasyBrokerClient.new
properties = client.fetch_all_properties
PropertyPrinter.print_titles(properties)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment