@extends('layouts.admin') @section('title', 'Manual del Administrador — Olo Chat') @section('content')
Guía completa para configurar canales sociales, webhooks, autoposting y cron jobs.
{{-- Table of Contents --}}
┌─────────────┐ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐
│ Telegram │ │ WhatsApp │ │ Facebook │ │ Instagram │
│ Bot API │ │ Cloud API │ │ Messenger │ │ DM API │
└──────┬──────┘ └──────┬──────┘ └──────┬──────┘ └──────┬──────┘
│ │ │ │
└────────┬────────┴────────┬────────┘ │
│ │ │
┌──────▼──────┐ ┌──────▼──────┐ ┌──────▼──────┐
│ Webhook │ │ Webhook │ │ Webhook │
│ /telegram/ │ │ /whatsapp │ │ /instagram │
└──────┬──────┘ └──────┬──────┘ └──────┬──────┘
│ │ │
└────────┬────────┴──────────────────────────┘
│
┌──────▼──────┐
│ Channel │ ← Resuelve tenant por canal
│ Router │
└──────┬──────┘
│
┌──────▼──────┐
│ ChatBot │ ← Flujos + KB + AI
│ Service │
└──────┬──────┘
│
┌──────▼──────┐
│ Channel │ ← Responde por el mismo canal
│ Reply Svc │
└─────────────┘
Flujo: Usuario envía mensaje → Webhook recibe → Se resuelve el canal y tenant desde la BD → ChatbotService procesa (flujos + KB + AI) → ChannelReplyService responde por el mismo canal.
/newbotolorun_asistente_bot)7123456789:AAHbE...){{ url('/api/webhook/telegram/{BOT_TOKEN}') }}
/setdescription a @BotFather para cambiar la descripción/setuserpic para poner el logo del cliente/setcommands para definir comandos (ej: /start, /menu){{ url('/api/webhook/whatsapp') }}olorun-wa-verify-2026messages{{ url('/api/webhook/whatsapp') }}
WHATSAPP_VERIFY_TOKEN=olorun-wa-verify-2026
{{ url('/api/webhook/facebook') }}olorun-fb-verify-2026messages, messaging_postbackspages_messaging{{ url('/api/webhook/facebook') }}
FACEBOOK_VERIFY_TOKEN=olorun-fb-verify-2026
instagram_manage_messages en la app{{ url('/api/webhook/instagram') }}
INSTAGRAM_VERIFY_TOKEN=olorun-ig-verify-2026
| Plataforma | Método | URL |
|---|---|---|
| Telegram | POST | {{ url('/api/webhook/telegram/{BOT_TOKEN}') }} |
| GET/POST | {{ url('/api/webhook/whatsapp') }} |
|
| GET/POST | {{ url('/api/webhook/facebook') }} |
|
| GET/POST | {{ url('/api/webhook/instagram') }} |
El sistema permite publicar posts en Facebook e Instagram desde el panel de admin.
Guarda sin publicar. Puedes editarlo después.
Se publica automáticamente a la fecha/hora seleccionada vía cron.
Se envía inmediatamente a las plataformas seleccionadas.
Para que los posts programados se publiquen automáticamente, necesitas un cron job.
* * * * * cd /home/olorvslb/olo.run/escan && php artisan posts:publish >> /dev/null 2>&1
cd /home/olorvslb/olo.run/escan && php artisan posts:publish >> /dev/null 2>&1php artisan posts:publish
Cada tenant tiene un árbol de flujos que define las opciones del chatbot.
🤖 Bot dice: "Hola, ¿en qué puedo ayudarte?" 1️⃣ Información → Respuesta de texto 2️⃣ Productos → Sub-menú └─ 1. Servicio A → Respuesta └─ 2. Servicio B → Respuesta └─ 3. Servicio C → Respuesta 3️⃣ Precios → Respuesta 4️⃣ FAQ → Sub-menú (agregar preguntas) 5️⃣ Demo → Acción: WhatsApp asesor 6️⃣ Soporte → Acción: crear ticket 7️⃣ Persona → Acción: WhatsApp asesor 8️⃣ Contacto → Acción: mostrar datos 0️⃣ → Siempre vuelve al menú principal
Al crear un tenant, se generan 11 nodos automáticamente. El admin puede editarlos, agregar sub-nodos, o crear flujos completamente nuevos.
# Verify tokens para webhooks (puedes cambiarlos)
WHATSAPP_VERIFY_TOKEN=olorun-wa-verify-2026
FACEBOOK_VERIFY_TOKEN=olorun-fb-verify-2026
INSTAGRAM_VERIFY_TOKEN=olorun-ig-verify-2026
# OpenAI (para respuestas AI del chatbot)
OPENAI_API_KEY=sk-...
CHATBOT_AI_MODEL=gpt-4o-mini
CHATBOT_MAX_TOKENS=800
CHATBOT_TEMPERATURE=0.7
El bot de Telegram no responde
storage/logs/laravel.loghttps://api.telegram.org/bot{TOKEN}/getWebhookInfoWhatsApp no recibe mensajes
messages esté suscritoPosts no se publican automáticamente
crontab -lphp artisan posts:publishError 403 en webhook de Facebook/Instagram
☐ Tenant creado con logo y configuración
☐ Flujos personalizados con info real
☐ Al menos 1 canal social conectado
☐ Widget instalado en su sitio web
☐ Prueba exitosa de mensajería
☐ Knowledge Base con al menos 5 artículos