# Tokens de API y recursos

> Tokens de API y recursos

Source: https://docs.plazbot.com/kb/tokens-de-api-y-recursos

Con la **API de Plazbot** conectas tus sistemas: creas contactos, envías mensajes y plantillas de WhatsApp y consultas tus datos desde tu propio código. Para usarla necesitas dos cosas: un **token de API** y el **ID de tu workspace**.

[Watch the video on YouTube](https://www.youtube.com/watch?v=GtBDmZIbKBI)

## 1\. Abre Developer

Ve a **Configuración › Developer**. Ahí están los tokens de API, los webhooks, los logs, los recursos y los secrets. Empieza por **Tokens de API**.

## 2\. Crea un token

Presiona **Nuevo Token**. El token se crea al instante, con **acceso completo** y **vigencia de un año**, y se abre el diálogo **Token creado**. Presiona **Copiar** y guárdalo en un lugar seguro, como una variable de entorno o un gestor de secretos.

**Importante:** nunca pongas el token en el código de tu página web ni lo subas a tu repositorio. Quien tenga el token puede usar la API como si fueras tú.

## 3\. Administra tus tokens

En la lista ves cada token con su fecha de expiración y puedes volver a copiarlo con el ícono de copiar.

- El token pertenece a **tu usuario**: funciona en todos los workspaces donde participas.
- Si un token se filtra o ya no lo usas, elimínalo: presiona la **papelera**, escribe `DELETE` y confirma.

## 4\. Recursos y Workspace ID

En la pestaña **Recursos** tienes los enlaces a la documentación de la **API**, el **SDK** y la **CLI**. Más abajo, en **Información del workspace**, copia tu **Workspace ID**: cada llamada lo necesita junto con tu token.

## 5\. Tu primera llamada

Cada petición lleva dos encabezados:

Encabezado

Valor

`Authorization`

`Bearer <tu token>`

`x-workspace-id`

El ID de tu workspace

La URL base es `https://api.plazbot.com`, o `https://apieu.plazbot.com` si tu cuenta está en Europa.

Ejemplo: enviar una plantilla de WhatsApp.

```bash
curl -X POST https://api.plazbot.com/api/conversation \
  -H "Authorization: Bearer $PLAZBOT_API_KEY" \
  -H "x-workspace-id: $PLAZBOT_WORKSPACE_ID" \
  -H "Content-Type: application/json" \
  -d '{
    "workspaceId": "wok_8f2kQxLm4Tz9",
    "destination": "51912345678",
    "template": "recordatorio_cita",
    "variablesBody": [
      { "variable": "1", "value": "Ana" },
      { "variable": "2", "value": "jueves 10:30" }
    ]
  }'
```

## 6\. Lee la respuesta

La API responde siempre con el mismo formato:

```json
{
  "success": true,
  "code": 200,
  "message": "Conversation sent successfully.",
  "data": { }
}
```

- Muchos errores de negocio (una plantilla que no existe, un campo que falta) llegan con **código HTTP 200** y `"success": false`. **Revisa siempre** `success`**.**
- Sin token recibes **401**.
- Sin el encabezado `x-workspace-id` recibes **400**.

## 7\. SDK de Node

El SDK te ahorra los encabezados y revisa `success` por ti: si algo falla, lanza un error.

```bash
npm install plazbot
```

```js
import { Plazbot } from "plazbot";

const bot = new Plazbot({
  apiKey: process.env.PLAZBOT_API_KEY,
  workspaceId: process.env.PLAZBOT_WORKSPACE_ID,
  zone: "LA", // o "EU"
});

await bot.message.onConversation({
  to: "51912345678",
  template: "recordatorio_cita",
  variablesBody: [{ variable: "1", value: "Ana" }],
});
```

## 8\. CLI de Plazbot

```bash
npm install -g plazbot-cli
plazbot init -k $PLAZBOT_API_KEY -w wok_8f2kQxLm4Tz9 -z LA
plazbot contacts list --json
plazbot whatsapp send-template --phone +51912345678 --template recordatorio_cita --var 1=Ana
```

En tu propia computadora también puedes usar `plazbot login`; `plazbot init` es ideal para servidores y CI.
