---
title: SDK Vue
---
# SDK Vue
Componente oficial de Vue 3 para el CAPTCHA de CaptchaLa — publicado como [`@captcha-la/vue`](https://www.npmjs.com/package/@captcha-la/vue).
## Demo en vivo
::: tip 📦
[demo-v1.captcha.la/vue](https://demo-v1.captcha.la/vue/) — demo ejecutable con los cuatro modos de producto.
Fuente: [Captcha-La/vue-example](https://github.com/Captcha-La/vue-example).
:::
## Instalación
```bash
npm install @captcha-la/vue
# or
yarn add @captcha-la/vue
# or
pnpm add @captcha-la/vue
```
Dependencia entre pares: `vue@^3.2.0`.
## Inicio rápido
```vue
```
## Props
| Prop | Tipo | Por defecto | Descripción |
|------|------|---------|-------------|
| `appKey` | `string` | *obligatorio* | Clave de aplicación de CaptchaLa |
| `serverToken` | `string` | - | Token de desafÃo de un solo uso emitido por el servidor. Obligatorio cuando la aplicación tiene `server_token_required=true`. |
| `product` | `'popup' \| 'float' \| 'embed' \| 'bind'` | `'popup'` | Modo de visualización |
| `action` | `string` | `'default'` | Identificador de acción (p. ej. `login`, `register`, `checkout`) |
| `lang` | `string` | `'zh-CN'` | Código de idioma (`zh-CN`, `en`, `ja`, …) |
| `bindTo` | `string \| HTMLElement` | - | Selector o nodo del elemento al que enlazar (solo para `product="bind"`) |
## Eventos
| Evento | Carga útil | Descripción |
|-------|---------|-------------|
| `success` | `{ token, type, action }` | Verificación correcta |
| `error` | `error` | Verificación fallida |
| `close` | — | CAPTCHA cerrado |
| `ready` | — | CAPTCHA listo |
## Métodos (vÃa `ref`)
```vue
```
| Método | Descripción |
|--------|-------------|
| `verify()` | Lanza la verificación |
| `reset()` | Reinicia el estado del CAPTCHA |
| `destroy()` | Destruye la instancia |
| `bindTo(selector)` | Enlaza al elemento (para el modo `bind`) |
| `setLang(lang)` | Cambia el idioma en caliente |
## Producción: modo `serverToken`
Para flujos de alto valor (inicio de sesión, registro, pago) recomendamos el **flujo de
token emitido por el servidor**. Tu backend genera un `server_token` de un solo uso (TTL de 5 minutos) vÃa
`POST /v1/server/challenge/issue` y se lo entrega al navegador:
```vue
```
Consulta la [Referencia de la API](/es/api-reference) para el contrato completo del backend.
## Enlaces
- [npm](https://www.npmjs.com/package/@captcha-la/vue) · [GitHub](https://github.com/Captcha-La/vue) · [ejemplo](https://github.com/Captcha-La/vue-example)
- [Visión general del SDK Web](/es/web-sdk) · [Referencia de la API](/es/api-reference)