n8n
Usa el nodo HTTP Request de n8n para mandar mensajes a la API de chat de AstrApp dentro de tus flujos.
No hay un nodo de AstrApp para n8n
Genera una API key
En el menú lateral de AstrApp entra a Cuenta › API Keys y usa Nueva API Key. Copia la llave (empieza con sk_live_): solo se muestra una vez. Más detalles en API Keys.
Agrega un nodo HTTP Request
En tu flujo de n8n agrega un nodo HTTP Request con método POST y esta URL:
https://app.astrapp.lat/api/v1/chatEn los encabezados agrega tu API key:
Authorization: Bearer sk_live_tu_api_keyArma el cuerpo JSON
| Campo | Requerido | Descripción |
|---|---|---|
model | Sí | ID de un modelo de la lista de GET /api/v1/chat. |
messages | Sí | Al menos un mensaje con role (system, user o assistant) y content. |
stream | No | Déjalo en false en n8n para recibir la respuesta completa. |
temperature | No | 0 a 2 (0.7 si no lo mandas). |
max_tokens | No | 1 a 32,768 (1,024 si no lo mandas). |
top_p | No | 0 a 1 (1 si no lo mandas). |
{
"model": "gpt-4o-mini",
"messages": [
{ "role": "system", "content": "Eres el asistente de ventas de mi tienda." },
{ "role": "user", "content": "{{ $json.mensaje }}" }
],
"stream": false,
"temperature": 0.7
}gpt-4o-mini es solo un ejemplo: usa un ID que aparezca en la lista de modelos (paso 5). {{ $json.mensaje }} es una expresión de n8n que toma el texto del nodo anterior.
Lee la respuesta
La respuesta llega envuelta en data:
{
"data": {
"message": { "role": "assistant", "content": "¡Hola! ¿En qué te ayudo?" },
"model": "gpt-4o-mini",
"provider": "litellm",
"latency_ms": 820,
"usage": { "prompt_tokens": 24, "completion_tokens": 9, "total_tokens": 33 }
}
}En el siguiente nodo, el texto está en {{ $json.data.message.content }}.
Consulta los modelos disponibles
Con la misma API key, la respuesta trae los modelos en data.models; usa su id en el campo model.
Costo
Cada llamada a /api/v1/chat descuenta de tu saldo el costo de los tokens que usó. Recarga saldo en Facturación.
Ejemplo: responder mensajes de WhatsApp
Un flujo típico en n8n tiene tres nodos:
- WhatsApp Trigger: recibe el mensaje entrante.
- HTTP Request: manda el texto a
/api/v1/chaty recibe la respuesta. - WhatsApp: envía
{{ $json.data.message.content }}al usuario.
Tus modelos entrenados todavía no se llaman desde n8n
/api/v1/inference/{modelId}/chat, solo funciona con la sesión de la app: con una API key responde que el modelo no existe.