Python
pip install hometown-estimator
Requiere Python 3.11 o más reciente.
Haz una estimación
import os
from hometown_estimator import Hometown
hometown = Hometown(os.environ["HOMETOWN_API_KEY"])
estimate = hometown.estimates.create({"input": {"text": "sandbox:priced"}})
print(estimate["status"], estimate["price"])
Los objetos son diccionarios con las claves de la API, tipados para mypy y tu editor en hometown_estimator.types. Cada llamada que lleva tu llave es un método de un recurso: hometown.estimates.retrieve(estimate_id), hometown.customers.list(limit=20), hometown.webhook_endpoints.create({...}). Cada uno acepta timeout=. estimates.create, estimates.follow_up y customers.create aceptan además tu propio idempotency_key=.
Atrapa errores
from hometown_estimator import HometownError, InsufficientCreditsError
try:
hometown.estimates.create({"input": {"text": "Paint a 12 by 14 ft bedroom"}})
except InsufficientCreditsError:
... # compra créditos en el panel
except HometownError as error:
print(error.code, error.request_id)
Los nombres de las clases siguen a los códigos: rate_limited es RateLimitedError y validation_failed es ValidationFailedError. Una petición que nunca recibe respuesta lanza APIConnectionError.
Revisa un webhook
Pasa el cuerpo tal como llegó, antes de leerlo como JSON:
from hometown_estimator import verify_webhook
event = verify_webhook(request.body, request.headers.get("Hometown-Signature"), endpoint_secret)
Lanza WebhookSignatureError cuando ninguna firma coincide o la hora de la entrega se aleja más de cinco minutos.