domingo, 3 de agosto de 2025

🔐 Python Nivel 3 – Parte 5: Consumo de APIs con Autenticación (Tokens, Headers)

 

🎯 ¿Qué aprenderás?

✅ Cómo consumir APIs que requieren autenticación
✅ Diferencias entre APIs con tokens, headers o claves API
✅ Uso de tokens tipo JWT
✅ Ejemplo real con la API de CoinCap
✅ Cómo automatizar consultas autenticadas


🌍 API real: CoinCap (criptomonedas)

🔗 Documentación: https://docs.coincap.io/

Esta API ofrece cotizaciones de criptomonedas. Algunas rutas requieren autenticación con API Key vía encabezado.


📦 Paso 1: Instala requests


pip install requests

🔐 Paso 2: Crea una cuenta y consigue tu API KEY

  1. Ve a https://coincap.io/

  2. Crea cuenta gratuita

  3. Copia tu clave API


📄 Paso 3: Realiza consulta autenticada


import requests # Tu API Key Pro API_KEY = "TU_API_KEY" # URL de CoinCap Pro v3 url = f"https://rest.coincap.io/v3/assets/bitcoin?apiKey={API_KEY}" try: respuesta = requests.get(url) if respuesta.status_code == 200: datos = respuesta.json() # La estructura cambia en v3: datos dentro de "data" precio = float(datos['data']['priceUsd']) print(f"El precio actual de Bitcoin es: ${precio:.2f}") else: print("Error al obtener los datos de Bitcoin") print(f"Código de estado: {respuesta.status_code}") print(f"Mensaje de error: {respuesta.text}") except Exception as e: print("❌ Error de conexión:", e)

🔁 Automatizar la consulta

Puedes ejecutar el script cada hora o guardar el valor en un .txt para seguimiento:

import time
while True: r = requests.get(url, headers=headers) if r.ok: precio = r.json()["data"]["priceUsd"] print(f"[Auto] BTC: ${float(precio):,.2f}") time.sleep(3600) # cada hora

✅ ¿Y si la API usa JWT?

  • Algunas APIs envían un token JWT al hacer POST con usuario/clave.

  • Lo guardas y lo reutilizas en headers como:
    "Authorization": "Bearer TOKEN_JWT"

🔐 Recomendación: Usa variables de entorno o ficheros .env para guardar tus claves, no las pongas directo en el código.


🧠 Aplicaciones reales

✔️ Dashboards de precios en tiempo real
✔️ Integración con bots (Telegram, Discord, etc.)
✔️ Automatización de alertas económicas
✔️ Automatización de reportes o backups usando datos externos


📂 Código completo en GitHub:
github.com/josecodetech

🎥 Guía paso a paso en YouTube:
[Tu canal aquí]



No hay comentarios:

Publicar un comentario

Se procedera a revision para su pronta publicacion en caso de que no incumpla las normas de blogger.