API REST y Bot de Telegram para el seguimiento automatizado de envíos de Correos España con notificaciones en tiempo real.
- 🚀 API REST: Endpoints para gestionar envíos programáticamente
- 📚 Documentación OpenAPI: Interfaz Swagger UI integrada
- 🤖 Bot de Telegram: Notificaciones y comandos interactivos
- 🔄 Monitorización Continua: Seguimiento automático de envíos
- 📱 Notificaciones: Alertas en tiempo real de cambios de estado
- 💾 Persistencia: Almacenamiento de datos entre reinicios
- 🔐 Configuración Segura: Variables de entorno separadas
proyecto/
├── api.py # API FastAPI
├── config.py # Configuración y constantes
├── correos_tracker.py # Clase principal del tracker
├── requirements.txt # Dependencias del proyecto
├── .gitignore # Archivos a ignorar
└── README.md # Documentación
- Clona el repositorio:
git clone https://github.com/yourusername/correos-track-api.git
cd correos-track-api- Instala las dependencias:
pip install -r requirements.txt- Configura las variables en
config.py:
TELEGRAM_BOT_TOKEN = "TU_BOT_TOKEN"
TELEGRAM_CHAT_ID = "TU_CHAT_ID"python api.pyLa API estará disponible en http://localhost:8000
- Swagger UI:
http://localhost:8000/docs - ReDoc:
http://localhost:8000/redoc
# Añadir envío
POST /shipments/
{
"tracking_number": "PKAPBQ0714089710148130G"
}
# Listar envíos
GET /shipments/
# Obtener estado
GET /shipments/{tracking_number}
# Eliminar envío
DELETE /shipments/{tracking_number}/add NUMERO- Añade un envío/status NUMERO- Muestra el estado/list- Lista todos los envíos/remove NUMERO- Elimina un envío/help- Muestra la ayuda
- FastAPI - Framework web moderno
- Python Telegram Bot - API de Telegram
- Uvicorn - Servidor ASGI
- Pydantic - Validación de datos
- Requests - Cliente HTTP
import requests
# Añadir envío
response = requests.post(
"http://localhost:8000/shipments/",
json={"tracking_number": "PKAPBQ0714089710148130G"}
)# Añadir envío
curl -X POST "http://localhost:8000/shipments/" \
-H "Content-Type: application/json" \
-d '{"tracking_number":"PKAPBQ0714089710148130G"}'- Fork el proyecto
- Crea tu rama (
git checkout -b feature/AmazingFeature) - Commit tus cambios (
git commit -m 'Add: nueva característica') - Push a la rama (
git push origin feature/AmazingFeature) - Abre un Pull Request
Distribuido bajo la Licencia MIT. Ver LICENSE para más información.
Link del Proyecto: https://github.com/vgvr0/correos-tracking-api