Por canal

Chatbot de Viber para atención al cliente: cómo funciona y cómo configurarlo

Por Roman Zakharenko · Datos verificados

Un chatbot de Viber para atención al cliente es una cuenta de bot conectada a la REST Bot API de Viber. Tu servidor registra un webhook con set_webhook, recibe callbacks cuando los clientes abren el chat o envían mensajes, y responde con send_message usando el token de autenticación del bot. Los bots de Viber solo pueden seguir escribiendo a los usuarios que se han suscrito, así que toda conversación de soporte empieza por el cliente.

De un vistazo

  • Cada petición a la API lleva el token de autenticación del bot en la cabecera X-Viber-Auth-Token.
  • Las URL de webhook deben usar SSL; Viber no admite certificados autofirmados.
  • Los callbacks message, subscribed y unsubscribed son obligatorios y no se pueden filtrar.
  • Un evento conversation_started permite un único mensaje de bienvenida, no una conversación continuada.
  • A fecha de octubre de 2026, la documentación para desarrolladores de Viber indica que los bots solo pueden crearse en condiciones comerciales.

Cómo funciona un bot de soporte en Viber

Tu bot se identifica con un token de autenticación. Cada petición a la REST Bot API debe incluirlo en una cabecera HTTP llamada X-Viber-Auth-Token; si lo omites, recibes un error missing_auth_token. Registras un webhook HTTPS público con set_webhook, Viber le envía callbacks a medida que ocurren las cosas, y tú respondes con send_message.

Cuando llamas a set_webhook, Viber comprueba tu URL enviándole un callback con el evento webhook. La comprobación solo se supera si tu servidor responde con el código de estado HTTP 200. Una respuesta correcta de set_webhook tiene status 0; una URL inaccesible devuelve status 1, invalidUrl.

  1. El cliente abre tu bot desde un enlace de tu web, y Viber envía un callback conversation_started.
  2. Tu bot envía un único mensaje de bienvenida con botones para los temas habituales.
  3. El cliente responde, lo que le suscribe, y tu bot recibe un callback message.
  4. El bot responde a las preguntas sencillas y recoge los datos para todo lo demás.
  5. Los casos sin resolver se convierten en tickets del helpdesk, y las respuestas de los agentes vuelven a través de send_message.

Webhooks y eventos de callback

La URL del webhook debe usar SSL con un certificado válido de una autoridad de certificación de confianza. La lista opcional event_types de set_webhook controla qué callbacks recibes, pero algunos no se pueden desactivar.

Callbacks de Viber que gestiona un bot de soporte
EventoCuándo llega¿Se puede filtrar?
webhookJusto después de set_webhook, para comprobar tu URLNo, forma parte de la configuración
conversation_startedUn usuario abre un chat individual con el bot, por ejemplo mediante un deep linkSí
subscribedUn usuario se suscribe al bot (no cuando la suscripción se produce con un primer mensaje)No
unsubscribedUn usuario se da de baja; el bot ya no puede escribirleNo
messageUn usuario envía un mensaje al botNo
delivered, seen, failedActualizaciones de estado de los mensajes que ha enviado el botSí

Viber firma cada callback. La cabecera X-Viber-Content-Signature contiene un HMAC-SHA256 del cuerpo de la petición, con tu token de autenticación como clave, así que compruébala antes de procesar nada. Si tu webhook no devuelve HTTP 200, Viber reintenta el callback varias veces, así que asegúrate de que un callback repetido no cree un ticket duplicado.

A quién puede escribir tu bot

Esta norma condiciona todo flujo de soporte en Viber: tu bot solo puede enviar mensajes a los usuarios que se han suscrito. Un evento conversation_started no es una suscripción. Permite un único mensaje de bienvenida, que según Viber debes enviar en un plazo de 5 minutos mediante send_message, incluyendo el parámetro receiver. El evento también se dispara para usuarios que ya están suscritos.

Un usuario se suscribe enviando un mensaje al bot. Ese primer mensaje genera un callback message, no un callback subscribed, así que guarda el ID de usuario de cualquiera de los dos eventos. Los usuarios pueden darse de baja en cualquier momento, lo que bloquea de inmediato los mensajes posteriores del bot, y recibes un callback unsubscribed con su ID. Si vuelven a suscribirse, se elimina cualquier context o tracking_data de la conversación.

Para iniciar conversaciones desde tu web, usa un deep link con el formato viber://pa?chatURI= seguido del URI de tu bot. Si añades un parámetro context, se pasa un valor, como la página de la que viene el cliente, al callback conversation_started. Viber advierte de que algunos navegadores pueden no reconocer el deep link. Para avisos de incidencias, la broadcast API envía hasta a 300 destinatarios por petición, y quien no esté suscrito aparece como fallido (failed).

Envío de mensajes y teclados

Una petición send_message indica el destinatario (receiver, el ID de usuario), el tipo de mensaje y un objeto sender cuyo name es obligatorio y está limitado a 28 caracteres. Los mensajes de texto pueden tener hasta 7.000 caracteres. Dos campos opcionales son útiles para el soporte: tracking_data (hasta 4.096 caracteres), que Viber devuelve junto con la respuesta del usuario, así que puede guardar un ID de ticket o el paso actual de un flujo; y min_api_version, la versión mínima de la API del cliente necesaria para el mensaje, que por defecto es 1.

Se pueden añadir teclados a cualquier tipo de mensaje mediante el campo keyboard. Cada botón tiene un ActionType:

  • reply (el valor por defecto) envía al bot la respuesta del botón.
  • open-url abre una URL, dentro de Viber o en un navegador externo según OpenURLType, y envía la URL al bot.
  • También están disponibles location-picker, share-phone y none.

Dos ajustes del teclado ayudan en los flujos de soporte. InputFieldState con el valor hidden elimina el campo de texto cuando quieres que los clientes elijan un botón, y DefaultHeight con el valor true mantiene el teclado a la altura del teclado nativo.

Condiciones comerciales y traspaso al helpdesk

A fecha de octubre de 2026, la documentación para desarrolladores de Viber indica que «desde el 5.02.24, los bots de Viber solo pueden crearse en condiciones comerciales», y las solicitudes se dirigen a Rakuten Viber directamente o a través de sus socios oficiales verificados. Pide a Viber o a un socio los precios actuales antes de empezar a desarrollar. La respuesta de send_message también incluye un campo de estado de facturación que muestra cómo se ha categorizado cada mensaje a efectos de facturación.

Para el traspaso a agentes, Zendesk incluye Viber entre los canales disponibles a través de Sunshine Conversations. Añadir canales de Sunshine Conversations al Agent Workspace requiere Suite Professional o superior, y además debes usar la mensajería y el Agent Workspace. Así, los mensajes se convierten en tickets y las respuestas de los agentes vuelven al cliente. Sin eso, el patrón habitual es un pequeño servicio que crea tickets mediante la API de tu helpdesk y envía las respuestas de los agentes con send_message.

Cómo puede ayudarte TascaLab

Los canales de bot que ofrece TascaLab son web, teléfono, WhatsApp, Telegram, Facebook Messenger e Instagram. Viber no está en esa lista, pero otros canales con API pueden valorarse en la llamada de Health Check gratuita de 30 minutos. TascaLab trabaja sobre las herramientas que ya usas, como Zendesk, Freshdesk, Jira y Slack, mediante API, webhooks y Make o n8n. Un Starter Chat Bot cuesta 360 € para uno o dos canales y un Standard Chat Bot, 510 € para entre tres y cinco. Todos los proyectos incluyen 30 días de soporte tras el lanzamiento, documentación básica y ningún coste oculto, y la mayoría de las implantaciones llevan 1–3 semanas.

Preguntas frecuentes

¿Puede un bot de Viber escribir primero a los clientes?

Solo a los usuarios suscritos. Un evento conversation_started permite un único mensaje de bienvenida, pero para seguir enviando mensajes el usuario tiene que suscribirse, lo que ocurre cuando envía un mensaje al bot.

¿Por qué falla set_webhook?

Viber comprueba tu URL con un callback webhook y solo la acepta si tu servidor devuelve HTTP 200. La URL también necesita SSL con un certificado de una autoridad de confianza; no se admiten certificados autofirmados.

¿Cómo puede saber mi bot de dónde viene un cliente?

Añade un parámetro context a tu deep link viber://pa?chatURI=. Viber se lo pasa a tu bot en el callback conversation_started.

¿Todavía puedo crear un bot de Viber gratis?

A fecha de octubre de 2026, la documentación para desarrolladores de Viber indica que los bots solo pueden crearse en condiciones comerciales, directamente con Rakuten Viber o a través de sus socios oficiales verificados.

¿Admite Zendesk Viber?

Sí, a través de Sunshine Conversations. Zendesk indica que sus canales de Sunshine Conversations en el Agent Workspace requieren Suite Professional o superior.

¿Quieres que lo configure para tu equipo?

Reserva un Health Check gratuito: una llamada de 30 minutos y un informe por escrito con 2–3 recomendaciones concretas, un precio fijo y los costes de funcionamiento estimados. Sin discurso de ventas.

Reseñas en Upwork

Fuentes

  1. Viber Developers — Viber REST API
  2. Viber Developers — Keyboards
  3. Viber Developers — DeepLinks
  4. Viber Developers — API Access White Paper
  5. Zendesk Help Center — Adding Sunshine Conversations channels to the Zendesk Agent Workspace
  6. Zendesk Help Center — What is Sunshine Conversations and how does it work?