<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Tolola tech</title>
    <description>The latest articles on DEV Community by Tolola tech (@tolola_tech).</description>
    <link>https://dev.to/tolola_tech</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3920979%2F145db27b-f020-4ff0-a5cc-a53460f68f8c.webp</url>
      <title>DEV Community: Tolola tech</title>
      <link>https://dev.to/tolola_tech</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/tolola_tech"/>
    <language>en</language>
    <item>
      <title>Chatbot con IA para capturar leads: cómo lo construimos en tolola.tech con Claude y WhatsApp</title>
      <dc:creator>Tolola tech</dc:creator>
      <pubDate>Sat, 09 May 2026 03:30:13 +0000</pubDate>
      <link>https://dev.to/tolola_tech/chatbot-con-ia-para-capturar-leads-como-lo-construimos-en-tololatech-con-claude-y-whatsapp-48bj</link>
      <guid>https://dev.to/tolola_tech/chatbot-con-ia-para-capturar-leads-como-lo-construimos-en-tololatech-con-claude-y-whatsapp-48bj</guid>
      <description>&lt;p&gt;En &lt;strong&gt;tolola.tech&lt;/strong&gt; reemplazamos el formulario de contacto de nuestra web por un chatbot con inteligencia artificial que entiende el negocio, responde consultas técnicas y deriva al visitante directamente a WhatsApp con un mensaje personalizado.&lt;/p&gt;

&lt;p&gt;En este artículo contamos por qué lo hicimos, cómo lo construimos y cuánto cuesta operarlo.&lt;/p&gt;




&lt;h2&gt;
  
  
  El problema con los formularios de contacto
&lt;/h2&gt;

&lt;p&gt;Los formularios tradicionales tienen un problema estructural: le piden al visitante que haga el esfuerzo. Tiene que pensar qué escribir, completar campos, esperar una respuesta que puede tardar horas.&lt;/p&gt;

&lt;p&gt;La mayoría abandona antes de enviar.&lt;/p&gt;

&lt;p&gt;Un chatbot invierte esa dinámica — es la herramienta la que hace las preguntas, entiende la necesidad y guía al visitante hacia el siguiente paso.&lt;/p&gt;




&lt;h2&gt;
  
  
  La decisión de diseño: derivar a WhatsApp
&lt;/h2&gt;

&lt;p&gt;Podríamos haber cerrado el lead dentro del chat. Pero decidimos que el objetivo del chatbot no es reemplazar la conversación humana sino &lt;strong&gt;prepararla&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;El flujo que diseñamos es:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Visitante llega a tolola.tech
        ↓
Abre el chat y describe su proyecto
        ↓
El chatbot entiende la necesidad y responde con contexto
        ↓
Cuando detecta que el visitante está listo
        ↓
Aparece un botón de WhatsApp con un mensaje pre-armado y personalizado
        ↓
La conversación continúa con el equipo humano
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;El chatbot no cierra la venta — &lt;strong&gt;la calienta&lt;/strong&gt;. Cuando el visitante llega a WhatsApp ya explicó su proyecto, ya confía en la marca y ya está listo para hablar.&lt;/p&gt;




&lt;h2&gt;
  
  
  La arquitectura
&lt;/h2&gt;

&lt;p&gt;El stack es deliberadamente simple:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Frontend:&lt;/strong&gt; HTML + JavaScript vanilla — un widget flotante que vive en cualquier página&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Backend:&lt;/strong&gt; Vercel Function (Node.js) — un archivo de 15 líneas que actúa de proxy seguro&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;IA:&lt;/strong&gt; API de Anthropic (Claude) — el modelo que procesa las conversaciones&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Conversión:&lt;/strong&gt; botón de WhatsApp con mensaje pre-armado generado por la IA&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Por qué un proxy en lugar de llamar directo a la API
&lt;/h3&gt;

&lt;p&gt;La API de Anthropic requiere una clave de autenticación. Si la ponés directo en el frontend, cualquiera que abra el código fuente puede robártela y usarla a tu costa.&lt;/p&gt;

&lt;p&gt;La solución es una Vercel Function que actúa de intermediario:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Navegador del visitante → Vercel Function → API de Anthropic
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;La clave nunca toca el navegador. Queda guardada como variable de entorno en Vercel, encriptada y segura.&lt;/p&gt;




&lt;h2&gt;
  
  
  El código
&lt;/h2&gt;

&lt;h3&gt;
  
  
  La Vercel Function — &lt;code&gt;api/chat.js&lt;/code&gt;
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="k"&gt;export&lt;/span&gt; &lt;span class="k"&gt;default&lt;/span&gt; &lt;span class="k"&gt;async&lt;/span&gt; &lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nf"&gt;handler&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;req&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;res&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="k"&gt;if &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;req&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;method&lt;/span&gt; &lt;span class="o"&gt;!==&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;POST&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="nx"&gt;res&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;status&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;405&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="nf"&gt;end&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;

  &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;response&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;await&lt;/span&gt; &lt;span class="nf"&gt;fetch&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;https://api.anthropic.com/v1/messages&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="na"&gt;method&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;POST&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="na"&gt;headers&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
      &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;Content-Type&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;application/json&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
      &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;x-api-key&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;process&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;env&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;ANTHROPIC_API_KEY&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
      &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;anthropic-version&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;2023-06-01&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;
    &lt;span class="p"&gt;},&lt;/span&gt;
    &lt;span class="na"&gt;body&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;JSON&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;stringify&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt;
      &lt;span class="na"&gt;model&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;claude-opus-4-7&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
      &lt;span class="na"&gt;max_tokens&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;1000&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
      &lt;span class="na"&gt;system&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;req&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;body&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;system&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
      &lt;span class="na"&gt;messages&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;req&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;body&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;messages&lt;/span&gt;
    &lt;span class="p"&gt;})&lt;/span&gt;
  &lt;span class="p"&gt;});&lt;/span&gt;

  &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;data&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;await&lt;/span&gt; &lt;span class="nx"&gt;response&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;json&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
  &lt;span class="nx"&gt;res&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;status&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;200&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="nf"&gt;json&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;data&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Eso es todo el backend. Vercel lo convierte automáticamente en un endpoint disponible en &lt;code&gt;/api/chat&lt;/code&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  El system prompt — el cerebro del chatbot
&lt;/h3&gt;

&lt;p&gt;El system prompt es lo que hace que el chatbot sepa quién es, qué ofrece y cómo comportarse. No es código — es texto. Y se puede actualizar sin tocar nada más.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Sos el asistente virtual de tolola.tech, una consultora de software 
de Buenos Aires, Argentina.

SERVICIOS:
- Desarrollo web y mobile (React, Next.js, React Native)
- Integraciones API (Interbanking, Mercado Pago, Jumio, WhatsApp Business)
- IA y automatización
- MVP Express (4-8 semanas)

INSTRUCCIONES:
- Respondé en español rioplatense, tono cálido y directo
- Máximo 3 oraciones por respuesta
- Cuando el visitante esté listo para contactar, incluí al final:
  [WA_READY: mensaje personalizado para WhatsApp]
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;La instrucción &lt;code&gt;[WA_READY:]&lt;/code&gt; es la clave de la conversión. Cuando el modelo detecta que el visitante está listo, incluye ese tag en su respuesta. El frontend lo detecta y muestra automáticamente el botón de WhatsApp con el mensaje pre-armado.&lt;/p&gt;

&lt;h3&gt;
  
  
  La detección del botón de WhatsApp en el frontend
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;waMatch&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;raw&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;match&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sr"&gt;/&lt;/span&gt;&lt;span class="se"&gt;\[&lt;/span&gt;&lt;span class="sr"&gt;WA_READY:&lt;/span&gt;&lt;span class="se"&gt;\s&lt;/span&gt;&lt;span class="sr"&gt;*&lt;/span&gt;&lt;span class="se"&gt;(&lt;/span&gt;&lt;span class="sr"&gt;.+&lt;/span&gt;&lt;span class="se"&gt;?)\]&lt;/span&gt;&lt;span class="sr"&gt;/&lt;/span&gt;&lt;span class="nx"&gt;s&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;cleanText&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;raw&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;replace&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sr"&gt;/&lt;/span&gt;&lt;span class="se"&gt;\[&lt;/span&gt;&lt;span class="sr"&gt;WA_READY:.*&lt;/span&gt;&lt;span class="se"&gt;?\]&lt;/span&gt;&lt;span class="sr"&gt;/&lt;/span&gt;&lt;span class="nx"&gt;s&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="dl"&gt;''&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="nf"&gt;trim&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;

&lt;span class="c1"&gt;// Si el modelo incluyó el tag, mostramos el botón&lt;/span&gt;
&lt;span class="k"&gt;if &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;waMatch&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;mensaje&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;encodeURIComponent&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;`Hola tolola.tech! &lt;/span&gt;&lt;span class="p"&gt;${&lt;/span&gt;&lt;span class="nx"&gt;waMatch&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;].&lt;/span&gt;&lt;span class="nf"&gt;trim&lt;/span&gt;&lt;span class="p"&gt;()}&lt;/span&gt;&lt;span class="s2"&gt;`&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
  &lt;span class="nf"&gt;mostrarBotonWhatsApp&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;`https://wa.me/5491127246517?text=&lt;/span&gt;&lt;span class="p"&gt;${&lt;/span&gt;&lt;span class="nx"&gt;mensaje&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;`&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;El modelo genera un mensaje personalizado según lo que contó el visitante. Si alguien preguntó por integración con Interbanking, el botón va a abrir WhatsApp con: &lt;em&gt;"Hola tolola.tech! Quiero consultar sobre integración con Interbanking para mi sistema de pagos."&lt;/em&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  El widget en acción
&lt;/h2&gt;

&lt;p&gt;El widget tiene tres estados:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. Cerrado&lt;/strong&gt; — un botón flotante con gradiente violeta/rosa, con un punto de notificación que llama la atención sin ser invasivo.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Abierto&lt;/strong&gt; — un panel de chat con header, área de mensajes, respuestas rápidas predefinidas y campo de input.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Listo para convertir&lt;/strong&gt; — cuando el modelo decide que el visitante está listo, aparece el botón verde de WhatsApp dentro del propio chat.&lt;/p&gt;

&lt;p&gt;Las respuestas rápidas al inicio ("¿Qué hacen?", "Quiero una app", "¿Cuánto cuesta?") reducen la fricción de arranque — el visitante puede empezar con un solo click sin escribir nada.&lt;/p&gt;




&lt;h2&gt;
  
  
  El costo real de operarlo
&lt;/h2&gt;

&lt;p&gt;Una de las primeras preguntas que nos hacen es cuánto cuesta tener un chatbot con IA.&lt;/p&gt;

&lt;p&gt;La respuesta es sorprendentemente accesible:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Componente&lt;/th&gt;
&lt;th&gt;Costo&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Vercel Functions&lt;/td&gt;
&lt;td&gt;Gratis (plan Free)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Dominio&lt;/td&gt;
&lt;td&gt;Ya lo tenés&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;API Anthropic&lt;/td&gt;
&lt;td&gt;~USD 0.01 por conversación&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Para arrancar&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;USD 5 de crédito&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Con USD 5 de crédito en Anthropic tenés aproximadamente 500 conversaciones. Para una PyME o consultora que recibe decenas de consultas por mes, eso cubre varios meses de operación.&lt;/p&gt;

&lt;p&gt;A medida que el tráfico crece, el costo escala de forma proporcional — no hay saltos ni compromisos mínimos.&lt;/p&gt;




&lt;h2&gt;
  
  
  Lo que aprendimos
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;El system prompt es el producto.&lt;/strong&gt; El código del widget es genérico y reusable. Lo que diferencia un chatbot mediocre de uno que convierte es la calidad del system prompt — cuánto conoce del negocio, cómo habla, qué hace cuando detecta una oportunidad.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Menos es más en las respuestas.&lt;/strong&gt; Limitamos las respuestas a 3 oraciones por defecto. Un chatbot que escribe párrafos largos pierde al visitante. La brevedad fuerza al modelo a ir al punto.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;El objetivo no es responder todo — es avanzar la conversación.&lt;/strong&gt; Cada respuesta del chatbot tiene que acercar al visitante un paso más hacia el contacto. Si el chatbot resuelve todas las dudas sin derivar, perdiste el lead.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;La derivación a WhatsApp funciona mejor que un formulario.&lt;/strong&gt; WhatsApp tiene una tasa de apertura cercana al 98%. Un lead que llega por WhatsApp ya caliente convierte mucho mejor que un formulario que espera respuesta por email.&lt;/p&gt;




&lt;h2&gt;
  
  
  ¿Cuándo tiene sentido implementar esto?
&lt;/h2&gt;

&lt;p&gt;Esta solución es ideal para:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Consultoras y agencias&lt;/strong&gt; que reciben consultas de proyectos y necesitan calificar el lead antes de invertir tiempo&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Empresas de servicios&lt;/strong&gt; con un proceso de venta que empieza con una reunión de diagnóstico&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;PyMEs&lt;/strong&gt; que quieren atender consultas fuera del horario laboral sin contratar más personas&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Cualquier negocio&lt;/strong&gt; donde WhatsApp es el canal principal de comunicación con clientes&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  ¿Querés implementarlo en tu web?
&lt;/h2&gt;

&lt;p&gt;En &lt;strong&gt;tolola.tech&lt;/strong&gt; hacemos la integración completa — widget, backend seguro, system prompt personalizado con tu negocio y configuración del flujo de conversión.&lt;/p&gt;

&lt;p&gt;La primera reunión es sin costo.&lt;/p&gt;

&lt;p&gt;📩 &lt;strong&gt;&lt;a href="mailto:tololatech@gmail.com"&gt;tololatech@gmail.com&lt;/a&gt;&lt;/strong&gt;&lt;br&gt;
💬 &lt;strong&gt;WhatsApp:&lt;/strong&gt; &lt;a href="https://wa.me/5491127246517?text=Hola%20tolola.tech!%20Vi%20el%20art%C3%ADculo%20sobre%20chatbot%20con%20IA%20y%20quiero%20implementarlo%20en%20mi%20web" rel="noopener noreferrer"&gt;+54 9 11 2724-6517&lt;/a&gt;&lt;br&gt;
🌐 &lt;strong&gt;tolola.tech&lt;/strong&gt;&lt;/p&gt;




&lt;p&gt;&lt;em&gt;tolola.tech es una consultora de desarrollo de software especializada en integraciones API, chatbots con IA y automatización. Buenos Aires, Argentina.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>webdev</category>
      <category>programming</category>
      <category>productivity</category>
    </item>
    <item>
      <title>Cómo integramos Tango Gestión con Interbanking y eliminamos la conciliación manual en dos empresas argentinas</title>
      <dc:creator>Tolola tech</dc:creator>
      <pubDate>Sat, 09 May 2026 03:17:24 +0000</pubDate>
      <link>https://dev.to/tolola_tech/como-integramos-tango-gestion-con-interbanking-y-eliminamos-la-conciliacion-manual-en-dos-empresas-ipo</link>
      <guid>https://dev.to/tolola_tech/como-integramos-tango-gestion-con-interbanking-y-eliminamos-la-conciliacion-manual-en-dos-empresas-ipo</guid>
      <description>&lt;p&gt;En &lt;strong&gt;tolola.tech&lt;/strong&gt; terminamos recientemente el proyecto &lt;strong&gt;tango-integration-interapis&lt;/strong&gt;: una integración entre el sistema de reportería de &lt;strong&gt;Tango Gestión&lt;/strong&gt; y la API de confección de archivos de &lt;strong&gt;Interbanking&lt;/strong&gt;. El resultado fue el mismo para los dos clientes — cero intervención manual en el proceso de pagos masivos.&lt;/p&gt;

&lt;p&gt;En este artículo contamos cómo fue el proyecto, qué desafíos encontramos y por qué este tipo de integración vale la pena.&lt;/p&gt;




&lt;h2&gt;
  
  
  El problema que teníamos que resolver
&lt;/h2&gt;

&lt;p&gt;Los dos clientes compartían el mismo dolor: usaban Tango Gestión para administrar su contabilidad y proveedores, pero el proceso de pago masivo a través de Interbanking era completamente manual.&lt;/p&gt;

&lt;p&gt;El flujo antes de la integración era más o menos así:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;El equipo de administración exportaba un reporte de Tango en Excel&lt;/li&gt;
&lt;li&gt;Alguien lo revisaba, limpiaba y reformateaba a mano&lt;/li&gt;
&lt;li&gt;Se subía el archivo al portal de Interbanking&lt;/li&gt;
&lt;li&gt;Se esperaba la confirmación y se conciliaba de nuevo en Tango&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Tiempo invertido por ciclo de pago: entre 3 y 5 horas.&lt;/strong&gt; Con errores humanos frecuentes y dependencia total de una persona clave.&lt;/p&gt;




&lt;h2&gt;
  
  
  La solución: tango-integration-interapis
&lt;/h2&gt;

&lt;p&gt;Diseñamos una capa de integración en &lt;strong&gt;Node.js + NestJS&lt;/strong&gt; que conecta ambos extremos de forma automática.&lt;/p&gt;

&lt;h3&gt;
  
  
  Cómo funciona el flujo integrado
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Tango Gestión (reportería)
        ↓
API interna que lee y transforma los datos
        ↓
Generación automática del archivo de confección Interbanking
        ↓
Upload vía API a la plataforma bancaria
        ↓
Confirmación y registro automático en el sistema
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Los componentes principales
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;1. Extractor de reportes de Tango&lt;/strong&gt;&lt;br&gt;
Tango Gestión expone sus datos a través de reportes configurables. Construimos un módulo que consume esos reportes en formato estructurado y los normaliza para el paso siguiente.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Transformador al formato Interbanking&lt;/strong&gt;&lt;br&gt;
Interbanking tiene un formato de archivo de confección específico — campos de longitud fija, codificación particular, cabeceras y totales de control. Construimos un parser que transforma los datos de Tango al formato exacto que la API bancaria espera.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Validaciones previas&lt;/strong&gt;&lt;br&gt;
Antes de enviar cualquier archivo, el sistema valida: CBUs correctos, importes dentro de límites, coherencia de totales, fechas de acreditación válidas. Si algo falla, se notifica por email antes de que llegue al banco.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4. Integración con la API de Interbanking&lt;/strong&gt;&lt;br&gt;
La confección y envío de lotes de pago se realiza a través de la API de Interbanking, con autenticación por certificado digital y manejo de reintentos ante errores transitorios.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;5. Registro y trazabilidad&lt;/strong&gt;&lt;br&gt;
Cada operación queda registrada con su estado, timestamp y referencia bancaria. El equipo de administración puede ver en tiempo real qué pagos se procesaron, cuáles quedaron pendientes y cuáles fallaron.&lt;/p&gt;




&lt;h2&gt;
  
  
  Los desafíos reales del proyecto
&lt;/h2&gt;

&lt;h3&gt;
  
  
  La documentación de Interbanking no es pública
&lt;/h3&gt;

&lt;p&gt;Este fue el primer obstáculo. La API de Interbanking no tiene documentación abierta — se accede mediante acuerdo comercial con el banco. Trabajar con el equipo técnico del cliente para obtener las especificaciones y los certificados llevó tiempo, pero es un paso inevitable.&lt;/p&gt;

&lt;h3&gt;
  
  
  El formato de archivos tiene muchas variantes
&lt;/h3&gt;

&lt;p&gt;Interbanking tiene distintos formatos según el tipo de operación: transferencias, débitos, pagos de haberes. Cada uno tiene sus propias reglas. Diseñamos el transformador de forma modular para que cada tipo de operación tenga su propia lógica sin mezclar responsabilidades.&lt;/p&gt;

&lt;h3&gt;
  
  
  Los datos de Tango necesitan limpieza
&lt;/h3&gt;

&lt;p&gt;Los reportes de Tango son muy ricos en información, pero no siempre están normalizados de la forma que Interbanking espera. CBUs con espacios, importes con formato incorrecto, campos opcionales vacíos — el módulo de validación fue clave para detectar estos casos antes del envío.&lt;/p&gt;

&lt;h3&gt;
  
  
  Ambientes de prueba limitados
&lt;/h3&gt;

&lt;p&gt;Interbanking tiene un ambiente de homologación, pero no replica todos los escenarios de producción. Parte de las pruebas finales se hicieron en producción con lotes de bajo importe, con rollback manual preparado.&lt;/p&gt;




&lt;h2&gt;
  
  
  El resultado
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Métrica&lt;/th&gt;
&lt;th&gt;Antes&lt;/th&gt;
&lt;th&gt;Después&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Tiempo por ciclo de pago&lt;/td&gt;
&lt;td&gt;3 a 5 horas&lt;/td&gt;
&lt;td&gt;8 minutos&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Errores humanos&lt;/td&gt;
&lt;td&gt;Frecuentes&lt;/td&gt;
&lt;td&gt;Cero&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Dependencia de persona clave&lt;/td&gt;
&lt;td&gt;Alta&lt;/td&gt;
&lt;td&gt;Eliminada&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Trazabilidad&lt;/td&gt;
&lt;td&gt;Manual en planilla&lt;/td&gt;
&lt;td&gt;Automática con logs&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Los dos clientes pasaron de un proceso propenso a errores y dependiente de una persona a un pipeline completamente automatizado que corre sin intervención.&lt;/p&gt;




&lt;h2&gt;
  
  
  ¿Cuándo tiene sentido hacer esta integración?
&lt;/h2&gt;

&lt;p&gt;Esta solución es especialmente valiosa para empresas que:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Procesan &lt;strong&gt;más de 20 pagos por ciclo&lt;/strong&gt; (proveedores, haberes, comisiones)&lt;/li&gt;
&lt;li&gt;Ya usan &lt;strong&gt;Tango Gestión&lt;/strong&gt; como sistema contable&lt;/li&gt;
&lt;li&gt;Operan con &lt;strong&gt;Interbanking&lt;/strong&gt; como plataforma bancaria principal&lt;/li&gt;
&lt;li&gt;Tienen &lt;strong&gt;errores recurrentes&lt;/strong&gt; en el proceso manual de carga de archivos&lt;/li&gt;
&lt;li&gt;Quieren &lt;strong&gt;eliminar la dependencia&lt;/strong&gt; de una persona que "sabe cómo hacerlo"&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Stack técnico
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Backend:&lt;/strong&gt; Node.js + NestJS&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Integración Tango:&lt;/strong&gt; Reportería vía módulo de exportación configurado&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Integración Interbanking:&lt;/strong&gt; API de confección con autenticación por certificado digital&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Notificaciones:&lt;/strong&gt; Email automático ante errores o confirmaciones&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Infraestructura:&lt;/strong&gt; Deploy en VPS con cron jobs para ejecución programada&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  ¿Tu empresa tiene el mismo problema?
&lt;/h2&gt;

&lt;p&gt;Si usás Tango Gestión y Interbanking y todavía estás procesando pagos de forma manual, podemos ayudarte.&lt;/p&gt;

&lt;p&gt;En &lt;strong&gt;tolola.tech&lt;/strong&gt; hacemos la primera reunión sin costo para entender tu caso y ver si esta integración aplica a tu operación.&lt;/p&gt;

&lt;p&gt;📩 &lt;strong&gt;&lt;a href="mailto:tololatech@gmail.com"&gt;tololatech@gmail.com&lt;/a&gt;&lt;/strong&gt;&lt;br&gt;
💬 &lt;strong&gt;WhatsApp:&lt;/strong&gt; &lt;a href="https://wa.me/5491127246517?text=Hola%20tolola.tech!%20Vi%20el%20art%C3%ADculo%20sobre%20Tango%20e%20Interbanking%20y%20quiero%20consultar" rel="noopener noreferrer"&gt;+54 9 11 2724-6517&lt;/a&gt;&lt;br&gt;
🌐 &lt;strong&gt;&lt;a href="http://www.tolola.tech" rel="noopener noreferrer"&gt;www.tolola.tech&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;




&lt;p&gt;&lt;em&gt;tolola.tech es una consultora de desarrollo de software especializada en integraciones API, automatización e IA. Buenos Aires, Argentina.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>api</category>
      <category>automation</category>
      <category>productivity</category>
      <category>spanish</category>
    </item>
  </channel>
</rss>
