> ## Documentation Index
> Fetch the complete documentation index at: https://docs.ryzeapi.cloud/llms.txt
> Use this file to discover all available pages before exploring further.

# Resumen

> Integración nativa de RyzeAPI con Chatwoot: activación, estado y desactivación

RyzeAPI se integra de forma nativa con [Chatwoot](https://www.chatwoot.com/). Al activarla, RyzeAPI crea una inbox en Chatwoot y mantiene la conexión en tiempo real: los mensajes recibidos en WhatsApp aparecen en Chatwoot, y las respuestas del agente en Chatwoot vuelven a WhatsApp.

<Info>
  Cuando el módulo Chatwoot no está habilitado en el servidor, **todos los endpoints del módulo devuelven `503`** con el mensaje `integration gateway not configured`.
</Info>

## Cómo funciona

1. Activas la integración con `POST /api/chatwoot/set/:instance` (o inline, al crear la instancia).
2. RyzeAPI crea la inbox en Chatwoot y empieza a entregar allí los mensajes recibidos en WhatsApp.
3. Las respuestas enviadas por el agente en Chatwoot vuelven a RyzeAPI y se entregan en WhatsApp.

## Endpoints de gestión

<CardGroup cols={3}>
  <Card title="Activar" icon="plug" href="/es/api/chatwoot/activate">
    `POST /api/chatwoot/set/:instance`, provisiona la integración y crea la inbox.
  </Card>

  <Card title="Estado / Información" icon="circle-info" href="/es/api/chatwoot/info">
    `GET /api/chatwoot/list/:instance`, devuelve el estado actual de la integración.
  </Card>

  <Card title="Desactivar" icon="power-off" href="/es/api/chatwoot/deactivate">
    `DELETE /api/chatwoot/delete/:instance`, elimina la integración (la inbox en Chatwoot se conserva).
  </Card>
</CardGroup>

## Activación inline al crear la instancia

La integración puede activarse **junto con la creación de la instancia**, sin necesidad de llamar a `set` por separado. Solo incluye el bloque `chatwoot*` en el cuerpo de [`POST /api/instance/new`](/es/api/instance/create):

```json theme={null}
{
  "name": "suporte",
  "chatwootEnabled": true,
  "chatwootBaseUrl": "https://chatwoot.example.com",
  "chatwootAccountId": 5,
  "chatwootApiToken": "sk_live_abc123...",
  "chatwootInboxName": "WhatsApp - Orion"
}
```

Si la activación falla (token incorrecto o host inalcanzable), la instancia **se crea de todos modos**, el objeto `chatwoot` regresa con `status: "error"` y `error: "<mensaje>"`. Luego puedes llamar a [`POST /api/chatwoot/set/:instance`](/es/api/chatwoot/activate) para corregir las credenciales sin recrear la instancia.

## Detectar si el módulo está habilitado

```bash theme={null}
curl -s -o /dev/null -w "%{http_code}\n" \
  "https://ryzeapi.cloud/api/chatwoot/list/qualquer-coisa" \
  -H "token: $Token_Account"

# 503 → módulo Chatwoot no habilitado en el servidor
# 404 → módulo habilitado, pero la instancia/integración no existe
# 200 → módulo habilitado e integración configurada
```

## Modelo de datos

El servidor persiste cada integración en la tabla `chatwoot_integrations`. El `chatwootApiToken` se cifra en reposo con **AES-256-GCM** y se devuelve en plaintext en [`GET /api/chatwoot/list/:instance`](/es/api/chatwoot/info).

| Campo                                       | Descripción                                |
| ------------------------------------------- | ------------------------------------------ |
| `bridge_integration_id`                     | ID interno de la integración.              |
| `chatwoot_base_url`                         | URL de la instalación de Chatwoot.         |
| `chatwoot_account_id`                       | ID numérico de la cuenta de Chatwoot.      |
| `chatwoot_inbox_id` / `chatwoot_inbox_name` | Inbox creada en Chatwoot.                  |
| `status`                                    | `active` / `paused` / `error`.             |
| `last_error`                                | Último mensaje de error de la integración. |

## Próximos pasos

<CardGroup cols={2}>
  <Card title="Activar integración" icon="plug" href="/es/api/chatwoot/activate">
    Provisiona la integración con `POST /api/chatwoot/set/:instance`.
  </Card>

  <Card title="Errores de Chatwoot" icon="triangle-exclamation" href="/es/guide/errors">
    Tabla de mapeo de códigos de estado HTTP y mensajes de la integración.
  </Card>
</CardGroup>
