Documentación

Smart AIPI ofrece APIs compatibles con OpenAI y Anthropic. Usa nuestro servicio con cualquier SDK, herramienta o app existente de OpenAI o Anthropic simplemente cambiando la base URL. No se requieren cambios de código.

Base URL de OpenAI

https://api.smartaipi.com/v1

Base URL de Anthropic

https://api.smartaipi.com

Herramientas CLI y MCP

Smart AIPI ofrece dos paquetes npm para ayudar a los desarrolladores a trabajar con sus cuentas:

smart-aipi — Una herramienta CLI para administrar mediante programación tu cuenta, API Keys y uso desde la terminal.
@smart-aipi/mcp — Un servidor MCP que da a los agentes de AI acceso directo a tu cuenta de Smart AIPI.

Instalar ambos

Terminal
npm install -g smart-aipi @smart-aipi/mcp

Instalar por separado

Solo CLI
npm install -g smart-aipi
Solo MCP
npm install -g @smart-aipi/mcp

Autenticación

Todas las solicitudes a la API requieren una API key. La misma clave funciona con ambos métodos de autenticación:

Estilo OpenAI (header Authorization)
Authorization: Bearer YOUR_API_KEY
Estilo Anthropic (header x-api-key)
x-api-key: YOUR_API_KEY

Guía de migración

La migración toma menos de un minuto. Nuestra API es 100% compatible con los endpoints de OpenAI y Anthropic.

Desde OpenAI

1

Obtén tu API key de Smart AIPI

Regístrate y crea una API key desde tu dashboard.

2

Cambia la base URL

Reemplaza https://api.openai.com/v1 por https://api.smartaipi.com/v1

3

Actualiza tu API key

Usa tu clave de Smart AIPI en lugar de tu clave de OpenAI. ¡Eso es todo!

Desde Anthropic

1

Obtén tu API key de Smart AIPI

Regístrate y crea una API key desde tu dashboard.

2

Cambia la base URL

Reemplaza https://api.anthropic.com por https://api.smartaipi.com

3

Actualiza tu API key

Usa tu clave de Smart AIPI en lugar de tu clave de Anthropic. Tus nombres de modelo de Claude existentes funcionan tal cual.

Tu código, SDK y apps existentes que usan Anthropic Messages API funcionarán sin ningún cambio de código. Los nombres de modelo de Claude (claude-opus-4-6, claude-sonnet-4-5-20250929, claude-haiku-4-5-20251001) se enrutan automáticamente a modelos GPT-5.4 de alto rendimiento. Cada respuesta incluye un x-actual-model header que muestra el modelo backend real para una transparencia total.

Finalizaciones de chat

Crea una chat completion para los mensajes y el modelo proporcionados. Este es el endpoint principal para interactuar con modelos de lenguaje.

POST /v1/chat/completions

Parámetros del cuerpo de la solicitud

Parámetro Tipo Obligatorio Descripción
model cadena ID del modelo que se usará (p. ej., "gpt-6-astra", "gpt-5.6-sol")
messages formación Array de objetos de mensaje con role y content
temperature número No Temperatura de muestreo (0-2). Más alta = más aleatorio. Predeterminado: 1
max_tokens entero No Máximo de tokens que se generarán en la respuesta
top_p número No Nucleus sampling. Considera tokens con probabilidad top_p. Predeterminado: 1
frequency_penalty número No Penaliza tokens según la frecuencia (-2 a 2). Predeterminado: 0
presence_penalty número No Penaliza tokens según la presencia (-2 a 2). Predeterminado: 0
stop string/array No Secuencias de parada. Hasta 4 secuencias donde se detiene la generación.
stream booleano No Activa respuestas por streaming mediante SSE. Predeterminado: false

Roles de mensaje

  • system - system - Establece el comportamiento/persona del asistente
  • user - user - Mensajes del usuario
  • assistant - assistant - Respuestas anteriores del asistente

Ejemplos de código

from openai import OpenAI

client = OpenAI(
    base_url="https://api.smartaipi.com/v1",
    api_key="your-api-key"
)

response = client.chat.completions.create(
    model="gpt-6-astra",
    messages=[
        {"role": "system", "content": "You are a helpful assistant."},
        {"role": "user", "content": "Hello!"}
    ],
    temperature=0.7,
    max_tokens=1000
)

print(response.choices[0].message.content)

Streaming

Activa streaming para recibir tokens a medida que se generan mediante Server-Sent Events (SSE). Esto ofrece una mejor experiencia de usuario para respuestas largas.

Establece "stream": true en tu solicitud para activar streaming.

Ejemplo de streaming

from openai import OpenAI

client = OpenAI(
    base_url="https://api.smartaipi.com/v1",
    api_key="your-api-key"
)

# Enable streaming
stream = client.chat.completions.create(
    model="gpt-6-astra",
    messages=[{"role": "user", "content": "Write a poem"}],
    stream=True
)

# Process chunks as they arrive
for chunk in stream:
    if chunk.choices[0].delta.content:
        print(chunk.choices[0].delta.content, end="")

Esfuerzo de razonamiento

Controla la profundidad del razonamiento con el parámetro reasoning_effort para modelos GPT-5.

Smart AIPI usa por defecto reasoning.effort = "high" para todas las solicitudes de Responses API.

Después de pruebas exhaustivas, descubrimos que high es el mejor esfuerzo de razonamiento para un uso práctico: proporciona uso de herramientas y análisis profundos y fiables sin el costo de latencia de xhigh. Puedes sobrescribir esto estableciendo explícitamente el esfuerzo de razonamiento en tu solicitud.

Smart AIPI usa por defecto store = false para todas las solicitudes de Responses API y WebSocket.

La API upstream requiere store: false para GPT-5.4 y modelos más recientes. Si estableces explícitamente store: true en tus solicitudes, recibirás un error "Store must be set to false". Elimínalo o configúralo en false.

Modelos compatibles

API de Responses

gpt-5.4, gpt-5.3, gpt-5.1, gpt-5 y todas las variantes de Codex

Solo Chat Completions

gpt-5.4-nano — la compatibilidad con razonamiento solo está disponible en /v1/chat/completions .

Niveles de esfuerzo de razonamiento

  • none - Sin razonamiento. Omite por completo el pensamiento.
  • low - Razonamiento mínimo. Ideal para tareas simples.
  • medium - Equilibrio entre velocidad y profundidad.
  • high - Análisis profundo para problemas complejos. (Predeterminado de Smart AIPI)
  • xhigh - Extra alto. Profundidad máxima de razonamiento para los problemas más difíciles.

Modo rápido (procesamiento prioritario)

Usa service_tier: "priority" para procesamiento prioritario con menor latencia. Esto es lo que usa el comando /fast en Codex CLI. No cambia la profundidad del razonamiento: obtienes la misma calidad, más rápido.

Precio: El procesamiento prioritario se factura a 1.5x la tarifa estándar. Por ejemplo, la salida de GPT-5.4 normalmente cuesta $3.75/1M tokens; con prioridad cuesta $5.625/1M tokens.

response = client.responses.create(
    model="gpt-6-astra",
    input="Refactor this function",
    service_tier="priority"              # priority processing, lower latency
)

API de Chat Completions

response = client.chat.completions.create(
    model="gpt-6-astra",
    messages=[{"role": "user", "content": "Analyze this code for bugs..."}],
    reasoning_effort="high"  # or "xhigh" for maximum depth
)

API de Responses

# Reasoning is set via the "reasoning" object
response = client.responses.create(
    model="gpt-6-astra",
    input=[{"role": "user", "content": "Refactor this function..."}],
    reasoning={"effort": "high"}  # defaults to "high" on Smart AIPI
)

Generación de imágenes

Genera imágenes a partir de prompts de texto usando nuestro endpoint de generación de imágenes.

Limitaciones actuales: Las variaciones de imagen ( /v1/images/variations ) aún no son compatibles. Las ediciones de imágenes están disponibles a través de /v1/images/edits.
POST /v1/images/generations
Novedad: gpt-image-2.5-flare y gpt-image-2.5-sunburst ya están disponibles. Los modelos de imagen más recientes de OpenAI ya están disponibles: mayor calidad que gpt-image-2 con hasta 50% menos latencia (flare), además de un control de edición multivuelta más preciso para creatividad de producción (sunburst). Las tarifas de tokens no cambian con respecto a gpt-image-2, por lo que los precios aquí son idénticos; la actualización no cuesta nada extra. Ambos admiten generaciones, ediciones y repintado de máscaras, al 50% del precio directo de OpenAI. Leer la publicación de lanzamiento.

Parámetros del cuerpo de la solicitud

Parámetro Tipo Descripción
prompt cadena Descripción de texto de la imagen que se generará (obligatoria)
model cadena "gpt-image-2.5-flare" (frontier), "gpt-image-2.5-sunburst" o "gpt-image-2". Predeterminado: "gpt-image-2.5-flare"
n entero Número de imágenes que se generarán (1-10). Predeterminado: 1
size cadena "1024x1024", "1024x1792" o "1792x1024". Predeterminado: "1024x1024"
quality cadena "standard" o "hd". Predeterminado: "standard"

Modelos disponibles

  • gpt-image-2.5-flare - Modelo frontier, máxima calidad (predeterminado)
  • gpt-image-2.5-sunburst - Edición de precisión y trabajo creativo premium (generación más lenta)
  • gpt-image-latest - Alias de gpt-image-2.5-flare
  • gpt-image-2 - Modelo insignia de la generación anterior
  • gpt-image-1.5 - Modelo insignia anterior (admite fondos transparentes)
  • gpt-image-1 - Generación de imágenes con calidad completa
  • gpt-image-1-mini - Imágenes más rápidas y pequeñas

Ejemplo

response = client.images.generate(
    model="gpt-image-2.5-flare",
    prompt="A futuristic city at sunset, cyberpunk style",
    size="1024x1024",
    n=1
)

# Response contains base64-encoded image
image_b64 = response.data[0].b64_json

# Save to file
import base64
with open("output.png", "wb") as f:
    f.write(base64.b64decode(image_b64))

Edición de imágenes

Edita imágenes existentes usando un prompt de texto. Acepta tanto JSON (string base64) como multipart/form-data (subida de archivo), por lo que los SDK de OpenAI funcionan de inmediato.

Nota: Solo se admite la edición de una sola imagen. Actualmente no están disponibles las entradas de múltiples imágenes ni los campos de máscara.
POST /v1/images/edits

Parámetros del cuerpo de la solicitud

Parámetro Tipo Descripción
prompt cadena Descripción de texto de la edición deseada (obligatoria)
image cadena Imagen codificada en base64 para editar (obligatoria)
model cadena "gpt-image-2.5-flare" (predeterminado), "gpt-image-2.5-sunburst" o "gpt-image-2"
n entero Número de imágenes editadas que se generarán (1-10). Predeterminado: 1
size cadena "1024x1024", "1024x1792" o "1792x1024". Predeterminado: "1024x1024"
quality cadena "low", "medium", "high" o "auto". Predeterminado: "medium"
Multi-reference edits and mask inpainting are supported. Pass image as an array of base64 strings (JSON) or as repeated image / image[] parts (multipart). Add a mask field alongside image to restrict edits to specific regions (white = edit, black = preserve). Works identically to the official OpenAI SDK.

Ejemplo

import base64

response = client.images.edit(
    model="gpt-image-2.5-flare",
    image=open("input.png", "rb"),
    prompt="Change the background to a sunset beach",
    size="1024x1024",
    n=1
)

# Save the edited image
edited_b64 = response.data[0].b64_json
with open("edited.png", "wb") as f:
    f.write(base64.b64decode(edited_b64))

Realtime API con WebSocket

WebSockets son una API ampliamente compatible para la transferencia de datos en tiempo real y una excelente opción para conectarte a la Realtime API de Smart AIPI en aplicaciones server-to-server.

En una integración server-to-server, tu sistema backend se conecta por WebSocket directamente a la Realtime API. Usa un Tecla API estándar para autenticar la conexión, ya que el token solo está disponible en tu servidor backend seguro.

WSS wss://api.smartaipi.com/v1/responses

Conéctate por WebSocket

A continuación se muestran varios ejemplos de conexión por WebSocket. Además de usar la URL de WebSocket, tendrás que pasar un header de autenticación usando tu API key.

import WebSocket from "ws";

const url = "wss://api.smartaipi.com/v1/responses";
const ws = new WebSocket(url, {
  headers: {
    Authorization: "Bearer " + process.env.SMARTAIPI_API_KEY,
  },
});

ws.on("open", function open() {
  console.log("Connected to server.");

  // Send a response.create event
  ws.send(JSON.stringify({
    type: "response.create",
    response: {

      model: "gpt-6-astra",
      store: false,
      input: [{ role: "user", content: "Hello!" }],
      stream: true,
    },
  }));
});

ws.on("message", function incoming(message) {
  const event = JSON.parse(message.toString());
  console.log(event.type, event);
});

Envío y recepción de eventos

Las sesiones se gestionan usando eventos JSON enviados por el cliente y el servidor a través de la conexión WebSocket. Envuelve tu solicitud en un envelope de response.create :

Evento Dirección Descripción
response.create Cliente Envía una solicitud (envuelve tu modelo, entrada y parámetros)
response.created Servidor Sesión aceptada, procesamiento iniciado
response.output_text.delta Servidor Fragmento de texto en streaming
response.completed Servidor Evento final con respuesta completa y uso
response.failed Servidor Evento final que indica un error
Importante: Las solicitudes WebSocket deben incluir "store": false en el envelope de respuesta. La conexión persiste a través de múltiples turnos: envía frames adicionales de response.create sin reconectar.

Listar modelos

Recupera una lista de todos los modelos disponibles. Usa este endpoint para descubrir dinámicamente qué modelos están disponibles para tu cuenta.

GET /v1/models

Formato de respuesta

{
    "object": "list",
    "data": [
        {
            "id": "gpt-6-astra",
            "object": "model",
            "created": 1700000000,
            "owned_by": "smart-aipi"
        },
        {
            "id": "gpt-5.3-codex",
            "object": "model",
            "created": 1700000000,
            "owned_by": "smart-aipi"
        },
        // ... more models
    ]
}

Ejemplo

from openai import OpenAI

client = OpenAI(
    base_url="https://api.smartaipi.com/v1",
    api_key="your-api-key"
)

# List all available models
models = client.models.list()

for model in models.data:
    print(model.id)

Modelos disponibles

Serie GPT

  • gpt-6-astra Último
  • gpt-5.6-sol
  • gpt-5.6-terra
  • gpt-5.6-luna
  • gpt-5.5
  • gpt-5.4-pro
  • gpt-5.4
  • gpt-5.4-mini
  • gpt-5.4-nano solo completions

Serie Codex

  • gpt-5.3-codex
  • gpt-5.2-codex
  • gpt-5.2
  • gpt-5.1

Anthropic Mensajes API

Compatibilidad completa con Anthropic Messages API. Usa cualquier SDK de Anthropic, Claude Code o app que hable el protocolo de Anthropic; solo cambia la base URL.

POST /v1/messages

Funciones compatibles

  • Streaming (protocolo completo de eventos SSE de Anthropic)
  • Uso de herramientas / function calling
  • Mensajes del sistema (formatos string y array)
  • Entradas de imagen (base64 y URL)
  • Conteo de tokens (/v1/messages/count_tokens)
  • Pensamiento extendido / esfuerzo de razonamiento

Ejemplos de código

from anthropic import Anthropic

client = Anthropic(
    base_url="https://api.smartaipi.com",
    api_key="your-api-key"
)

response = client.messages.create(
    model="claude-sonnet-4-5-20250929",
    max_tokens=1024,
    messages=[
        {"role": "user", "content": "Hello!"}
    ]
)

print(response.content[0].text)

Mapeo de modelos

Se aceptan nombres de modelo de Claude y se enrutan automáticamente a GPT-5.4 con esfuerzo de razonamiento por niveles. Cada respuesta incluye un x-actual-model header que muestra el modelo backend real.

Modelo Claude backend Razonamiento Ideal para
claude-opus-4-6 gpt-5.4 Alto Razonamiento complejo, arquitectura
claude-sonnet-4-5-20250929 gpt-5.4 Medio Programación diaria, calidad equilibrada
claude-haiku-4-5-20251001 gpt-5.4 Bajo Respuestas rápidas, tareas simples

Claude Code

Usa Claude Code con Smart AIPI como backend. Compatibilidad total con uso de herramientas, streaming y capacidades agentic.

Configuración automática

Un comando
npx smart-aipi claude

Esto configura ~/.claude/settings.json y ~/.claude.json automáticamente. Si ya tienes Claude Code configurado con una cuenta de Anthropic, te mostrará la configuración manual en lugar de sobrescribirla.

Configuración manual

Agregar a ~/.claude/settings.json:

~/.claude/settings.json
{
  "env": {
    "ANTHROPIC_BASE_URL": "https://api.smartaipi.com",
    "ANTHROPIC_API_KEY": "sk-your-key",
    "ANTHROPIC_DEFAULT_HAIKU_MODEL": "claude-haiku-4-5-20251001"
  },
  "model": "opus"
}

Luego agrega "hasCompletedOnboarding": true a ~/.claude.json para omitir el asistente de configuración.

Después de editar la configuración, reinicia Claude Code para que los cambios surtan efecto. Si ya tienes Claude Code conectado a una cuenta real de Anthropic, establecer estas env vars sobrescribirá esa conexión; usa un .claude/settings.json a nivel de proyecto para mantener ambas.

Qué hace cada configuración

  • "model": "opus" — Modelo principal. Usa claude-opus-4-6 (razonamiento alto) para todas las tareas principales.
  • ANTHROPIC_DEFAULT_HAIKU_MODEL — Modelo en segundo plano. Usa claude-haiku-4-5 (razonamiento bajo) para tareas rápidas en segundo plano como la indexación de archivos.
  • Cambia entre modelos a mitad de sesión con /model sonnet, /model opus, o /model haiku.
Alias Modelo Claude backend Razonamiento
opus claude-opus-4-6 gpt-5.4 Alto
sonnet claude-sonnet-4-5-20250929 gpt-5.4 Medio
haiku claude-haiku-4-5-20251001 gpt-5.4 Bajo

OpenCode

Usa Smart AIPI como tu backend de OpenCode mediante el SDK compatible con OpenAI.

Configuración

~/.config/opencode/opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "provider": {
    "smart-aipi": {
      "npm": "@ai-sdk/openai-compatible",
      "name": "Smart AIPI",
      "options": {
        "baseURL": "https://api.smartaipi.com/v1",
        "apiKey": "YOUR_API_KEY"
      },
      "models": {
        "gpt-6-astra": {
          "name": "GPT-6 Astra",
          "reasoning": true,
          "limit": { "context": 400000, "output": 128000 }
        },
        "gpt-5.3-codex": {
          "name": "GPT-5.3 Codex",
          "reasoning": true,
          "limit": { "context": 400000, "output": 128000 }
        },
        "gpt-5.2-codex": {
          "name": "GPT-5.2 Codex",
          "reasoning": true,
          "limit": { "context": 400000, "output": 128000 }
        },
        "gpt-5-codex": {
          "name": "GPT-5 Codex",
          "reasoning": true,
          "limit": { "context": 400000, "output": 128000 }
        }
      }
    }
  },
  "model": "smart-aipi/gpt-6-astra"
}

Códice CLI

Usa Smart AIPI con la herramienta Codex CLI de OpenAI. Hay que configurar tres archivos.

Configuración automática

Un comando
npx smart-aipi codex

Esto configura automáticamente los tres archivos de abajo. Después de ejecutarlo, agrega model_reasoning_effort a tu configuración (ver paso 2).

Configuración manual

Configura estos tres archivos:

1. Tecla API — ~/.codex/auth.json

~/.codex/auth.json
{
  "auth_mode": "apikey",
  "OPENAI_API_KEY": "sk-your-key"
}

2. Modelo y razonamiento — ~/.codex/config.toml

Incluye siempre model_reasoning_effort - obligatorio para modelos personalizados.

Sin eso, Codex usará por defecto ausencia de razonamiento y no funcionará correctamente. Usa "high" para obtener los mejores resultados.

~/.codex/config.toml
model = "gpt-6-astra"
model_reasoning_effort = "high"

Niveles de razonamiento válidos: low, medium, high (recomendado), xhigh.

3. Variables de entorno — ~/.zshrc

~/.zshrc (or ~/.bashrc)
# Smart AIPI
export OPENAI_API_KEY="sk-your-key"
export OPENAI_BASE_URL="https://api.smartaipi.com/v1"

Después de editar el perfil de tu shell, reinicia la terminal o ejecuta source ~/.zshrc para que los cambios surtan efecto.

Luego usa Codex normalmente:

Terminal
codex "fix this bug"

Guía de velocidad de Codex WebSocket

El modo WebSocket suele ser más rápido para flujos de programación agentic con muchas llamadas a herramientas. En lugar de reconectarse repetidamente por HTTP y reenviar envelopes de solicitud completos, Codex mantiene una conexión activa y envía turnos incrementales, lo que reduce la sobrecarga de continuación.

Mejora observada: En nuestras ejecuciones de programación con uso intensivo de herramientas, una versión open-source reconstruida de Codex con correcciones de WebSocket redujo el tiempo total de ejecución aproximadamente entre un 30% y un 40% frente al modo de continuación por HTTP.

Activa WebSockets en Codex

Usa el feature flag WebSocket v2 en ~/.codex/config.toml: ~/.codex/config.toml:

~/.codex/config.toml
model = "gpt-6-astra"
model_reasoning_effort = "high"

[features]
responses_websockets_v2 = true

Equivalente en CLI:

Terminal
codex --enable responses_websockets_v2

Las versiones más antiguas pueden usar el flag heredado:

fallback heredado
[features]
responses_websockets = true

Comportamiento conocido de Homebrew

En algunas builds distribuidas con Homebrew, los turnos de WebSocket pueden quedarse bloqueados durante tareas de larga duración y luego volver silenciosamente a HTTP. Lo vimos especialmente en bucles complejos de llamadas a herramientas. Reconstruir desde el código open-source con las correcciones de abajo mejoró tanto la estabilidad como la velocidad.

Post-Merge: corrige el bug de WebSocket open-source

Después de fusionar tu rama, usa esta lista de verificación para asegurarte de que la corrección esté en tu binario local:

Terminal
# 1) Pull merged main
git checkout main
git pull --ff-only

# 2) Confirm websocket flags exist
codex features list | rg responses_websockets

# 3) Build and install
cd codex-rs
cargo build --release
install -m 0755 target/release/codex ~/.local/bin/codex-beta

# 4) Run with websocket enabled
CODEX_RS_RESPONSES_WS=true \
OPENAI_BASE_URL=https://api.smartaipi.com/v1 \
~/.local/bin/codex-beta --enable responses_websockets_v2

Si necesitas aplicar el parche manualmente, verifica que estas correcciones a nivel de código estén presentes:

correcciones del cliente websocket
# A) Build websocket request with IntoClientRequest so required headers are set
let mut request = url.as_str().into_client_request()?;
request.headers_mut().extend(headers);

# B) Ensure TLS roots are enabled for tokio-tungstenite in Cargo.toml
tokio-tungstenite = { version = "...", features = ["rustls-tls-native-roots"] }

Cursor y Cline

Usa Smart AIPI con Cursor IDE o la extensión Cline para VS Code.

Cursor Cursor

  1. Abre la configuración de Cursor
  2. Ve a la pestaña Models pestaña
  3. Haz clic en + Add Model
  4. Establece Base URL: https://api.smartaipi.com/v1
  5. Introduce tu API key
  6. Modelo: gpt-6-astra

Cline Cline (VS Code)

  1. Abre la configuración de Cline en VS Code
  2. Selecciona OpenAI Compatible
  3. Base URL: https://api.smartaipi.com/v1
  4. Introduce tu API key
  5. Modelo: gpt-6-astra

Charlar

Usa Smart AIPI Chat en chat.smartaipi.com. para flujos de trabajo de texto, imagen, video, código, búsqueda y voz.

Funciones

  • Charlar — Conversaciones de texto de uso general con modelos de Smart AIPI.
  • Imágenes — Genera y edita imágenes a partir de prompts.
  • Video — Genera videos a partir de texto o entradas de imagen.
  • Código — Asistencia y edición de código en el navegador.
  • Búsqueda — Usa búsqueda web para obtener respuestas fundamentadas.
  • Voz — Habla con el modelo mediante entrada y respuestas de voz.

Primeros pasos

  1. 1. Abre chat.smartaipi.com
  2. 2. Inicia sesión o crea una cuenta.
  3. 3. Empieza a chatear con texto, imágenes, video, código, búsqueda o voz.

Facturación: El uso se factura contra tus créditos de Smart AIPI.

Probador de API

Prueba la API directamente desde tu navegador:

Mensaje enviado

Te responderemos en un plazo de 2 días hábiles.

Contactar soporte

¿Tienes una pregunta o necesitas ayuda? Envíanos un mensaje y te responderemos en un plazo de 2 días hábiles.