Saltar al contenido principal

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.