# 🚀 GUÍA RÁPIDA DE INTEGRACIÓN
## 📌 Lo Primero: Elige Tu Opción
| Opción | Para Quién | Dificultad | Tiempo |
|--------|-----------|-----------|--------|
| **HTML Standalone** | Usuarios finales | Muy fácil | 1 min |
| **Python** | Desarrolladores backend | Fácil | 5 min |
| **JavaScript** | Desarrolladores frontend | Fácil | 5 min |
| **cURL** | Scripts/Terminal | Fácil | 2 min |
| **Node.js** | Servidores Node | Normal | 10 min |
---
## 🟢 OPCIÓN 1: HTML Standalone (La más fácil)
### Paso 1: Descarga
Archivo: **`cliente.html`**
### Paso 2: Abre en navegador
```
Doble-click en cliente.html
```
### Paso 3: Listo
- Arrastra tu RUT en PDF
- Click en "Extraer Información"
- ¡Eso es todo!
**Ventajas:**
- ✅ No requiere instalación
- ✅ Funciona en cualquier navegador
- ✅ Sin dependencias
- ✅ Super rápido
**Desventajas:**
- ❌ Solo para uso local
- ❌ No puedes automatizar
---
## 🔵 OPCIÓN 2: Python
### Paso 1: Instala Python
```bash
# Windows: Descarga de python.org
# Mac: brew install python3
# Linux: sudo apt-get install python3
```
### Paso 2: Instala librería
```bash
pip install requests
```
### Paso 3: Usa el ejemplo
Archivo: **`ejemplo-python.py`**
```bash
# Uso básico
python ejemplo-python.py rut.pdf
# Ver resultado
python ejemplo-python.py mi-rut.pdf > datos.json
```
### Paso 4: En tu código
```python
from consumidor_api import ExtractorRUT
extractor = ExtractorRUT()
datos = extractor.extraer('rut.pdf')
if datos:
print(f"NIT: {datos['identificacion']['nit']}")
print(f"Razón Social: {datos['datos_juridicos']['razon_social']}")
```
**Ventajas:**
- ✅ Excelente para automatización
- ✅ Fácil de usar
- ✅ Perfecto para scripts
- ✅ Integración con bases de datos
**Desventajas:**
- ❌ Requiere Python instalado
- ❌ Requiere dependencias
---
## 🟡 OPCIÓN 3: JavaScript (Frontend)
### Paso 1: Copia el código
Archivo: **`ejemplo-javascript.js`**
### Paso 2: En tu HTML
```html
<!DOCTYPE html>
<html>
<head>
<title>Mi App</title>
</head>
<body>
<input type="file" id="fileInput" accept=".pdf" />
<button onclick="extraerRUT()">Extraer</button>
<script src="ejemplo-javascript.js"></script>
<script>
async function extraerRUT() {
const archivo = document.getElementById('fileInput').files[0];
const resultado = await extraerRUTConReintentos(archivo);
console.log('Datos:', resultado);
}
</script>
</body>
</html>
```
### Paso 3: Usa en tu aplicación
```javascript
// En React
const [datos, setDatos] = useState(null);
const handleFile = async (e) => {
const resultado = await extraerRUT(e.target.files[0]);
setDatos(resultado);
};
// En Vue
async procesarRUT(archivo) {
this.datos = await extraerRUT(archivo);
}
// En Angular
procesarRUT(archivo: File) {
this.api.extraerRUT(archivo).subscribe(
datos => this.datos = datos
);
}
```
**Ventajas:**
- ✅ Funciona en navegador
- ✅ No requiere backend
- ✅ Fácil integración
- ✅ Respuesta instantánea
**Desventajas:**
- ❌ Expone URL de API al cliente
- ❌ Límites de CORS en algunos casos
---
## 🔴 OPCIÓN 4: cURL (Terminal)
### Paso 1: Abre terminal
```bash
# macOS/Linux
Terminal
# Windows
PowerShell o CMD
```
### Paso 2: Ejecuta comando
```bash
curl -X POST \
-F "file=@rut.pdf" \
https://datosrut.codepyme.com/procesar | jq '.'
```
### Paso 3: Ver resultado
Automáticamente en la terminal
**Ventajas:**
- ✅ Sin instalación (cURL está en todo)
- ✅ Perfecto para testing rápido
- ✅ Automatización en scripts bash
- ✅ Más seguro que JavaScript
**Desventajas:**
- ❌ Solo terminal
- ❌ No es interactivo para usuarios
---
## 🟣 OPCIÓN 5: Node.js
### Paso 1: Instala Node.js
```bash
# Descarga de nodejs.org
# O: brew install node
```
### Paso 2: Instala dependencias
```bash
npm init -y
npm install express multer axios form-data
```
### Paso 3: Usa el ejemplo
Archivo: **`ejemplo-nodejs.js`**
```bash
node ejemplo-nodejs.js
```
### Paso 4: Sube un RUT
```bash
curl -X POST \
-F "file=@rut.pdf" \
http://localhost:3000/procesar-rut
```
**Ventajas:**
- ✅ Backend profesional
- ✅ Fácil de escalar
- ✅ Integración con bases de datos
- ✅ Manejo robusto de errores
**Desventajas:**
- ❌ Requiere Node.js
- ❌ Un poco más complejo
---
## 📊 COMPARATIVA RÁPIDA
```
┌─────────────────┬──────────────┬─────────┬──────────┐
│ Opción │ Instalación │ Rapidez │ Poder │
├─────────────────┼──────────────┼─────────┼──────────┤
│ HTML │ 0 min │ ⭐⭐⭐ │ ⭐ │
│ Python │ 5 min │ ⭐⭐ │ ⭐⭐⭐ │
│ JavaScript │ 0 min │ ⭐⭐⭐ │ ⭐⭐ │
│ cURL │ 0 min │ ⭐⭐ │ ⭐ │
│ Node.js │ 10 min │ ⭐⭐⭐ │ ⭐⭐⭐ │
└─────────────────┴──────────────┴─────────┴──────────┘
```
---
## 🎯 MIS RECOMENDACIONES
### Para un usuario final (sin programación)
👉 **HTML Standalone**
- Solo abre el archivo
- Listo para usar
### Para automatizar procesos
👉 **Python**
- Procesar múltiples RUTs
- Guardar en base de datos
- Integrar con otros sistemas
### Para una web moderna
👉 **JavaScript + Frontend Framework** (React, Vue, Angular)
- Experiencia interactiva
- Sin servidor (usando CORS)
### Para procesos rápidos desde terminal
👉 **cURL**
- Perfecto para testing
- Automatización con bash scripts
### Para servidor robusto
👉 **Node.js + Express**
- Backend profesional
- Escalable y mantenible
---
## 🆘 SOLUCIÓN DE PROBLEMAS
### "CORS Error"
**Problema:** JavaScript en navegador no puede conectar
**Solución:** Usa Node.js backend como proxy
### "Module not found"
**Problema:** En Python falta librería
**Solución:**
```bash
pip install requests
```
### "Timeout"
**Problema:** Solicitud tardó mucho
**Solución:**
- Aumenta timeout a 120 segundos
- Verifica conexión a internet
### "PDF no válido"
**Problema:** El archivo no es reconocido
**Solución:**
- Asegúrate que es PDF real
- No PDF de imagen (requiere OCR)
---
## 📚 PRÓXIMOS PASOS
1. **Elige tu opción** (arriba)
2. **Descarga el archivo correspondiente**
3. **Sigue la guía paso a paso**
4. **Prueba con tu primer RUT**
5. **¡Integra en tu proyecto!**
---
## 🔗 ARCHIVOS INCLUIDOS
```
📦 Tu proyecto
├── 📄 README_CLIENTE.md ← Documentación completa
├── 🎨 cliente.html ← HTML standalone
├── 🐍 ejemplo-python.py ← Python listo para usar
├── 📜 ejemplo-javascript.js ← JavaScript ejemplos
├── 🐚 ejemplo-curl.sh ← Scripts bash
├── 📦 ejemplo-nodejs.js ← Node.js ejemplos
└── 📋 INTEGRACION_RAPIDA.md ← Este archivo
```
---
## 💬 ¿Necesitas ayuda?
1. **Lee la documentación:** `README_CLIENTE.md`
2. **Mira los ejemplos:** Archivo específico para tu lenguaje
3. **Contacta:** Al equipo de desarrollo
---
**¡Listo para integrarse! 🚀**