Ayni está en desarrollo.

Ir al contenido

Integrar con una IA

No le describa Ayni a su asistente. Pásele el archivo.

Publicamos /llms.txt: un solo archivo de texto con el contrato completo, escrito para que un modelo lo lea entero. Un asistente que lo lee trabaja con los nombres de campo reales. Uno que trabaja de su resumen, inventa.

El prompt con el que empezar

Copie esto y cambie la última línea por su stack. El enlace es lo importante: es lo que reemplaza media hora de explicarle qué es Ayni.

Quiero integrar los cobros por QR de Ayni Cobros en mi aplicación.

Leé https://aynicobros.com/llms.txt completo y seguí ese documento:
tiene el contrato real de la API y de los dos paquetes de npm.

Mi stack es: Next.js 16 con App Router y TypeScript.

Si su asistente no puede abrir enlaces, péguele el contenido del archivo. Son unas nueve mil palabras; entra sin problema en cualquier modelo actual.

Tres cosas de su app que el modelo no puede adivinar

El archivo cubre Ayni. Lo que no puede cubrir es lo suyo, y son las tres decisiones donde una integración se tuerce:

  1. Dónde vive su clave secreta. Una variable de entorno del servidor, un gestor de secretos, lo que use. Si no lo dice, el modelo elige por usted — y en un proyecto de Next.js elegir mal significa un NEXT_PUBLIC_ que publica la clave al navegador.
  2. A qué URL vuelve el comprador y qué pasa ahí. Ayni devuelve al pagador a su successUrl con el token en la query. Diga qué tiene que ocurrir en esa página: marcar el pedido, vaciar el carrito, mandar un correo.
  3. Qué cuenta como pedido pagado en su base de datos. El modelo puede escribir la llamada; no sabe si usted libera el pedido al confirmar o espera la conciliación.

Qué revisar en lo que le devuelva

Cinco errores cuestan dinero de verdad, y los cinco compilan sin quejarse. Búsquelos en el código antes de aceptarlo:

  • El monto. Tiene que ser un string decimal en unidades mayores: amount: '250.00'. Si ve 25000, o un número sin comillas, está cobrando cien veces de más.
  • La clave. Busque AYNI_SECRET_KEY en todo el proyecto. Solo puede aparecer en código de servidor. Nunca en un componente con 'use client', nunca con prefijo público.
  • La fecha. Debe salir de datePlusDays(), o de la zona America/La_Paz si su servidor no es Node. Si ve toISOString(), está calculando el día en UTC y el cobro vence antes de tiempo.
  • La referencia en los reintentos. Reintentar con la misma reference devuelve el cobro original. Si el modelo genera una nueva por intento, un timeout le deja dos QR cobrables para un pedido.
  • El resultado. Ninguno de los dos paquetes lanza excepciones. Tiene que haber un if (result.kind !== 'ok') antes de tocar result.charge. Un try/catch alrededor no atrapa nada.

Ese repaso también se lo puede pedir a la IA, con el código ya escrito delante:

Revisá esta integración de Ayni contra https://aynicobros.com/llms.txt.

Verificá en concreto: que amount sea un string decimal en unidades mayores,
que la clave secreta no aparezca en ningún archivo que llegue al navegador,
que dueDate se calcule en America/La_Paz, que los reintentos repitan la misma
reference, y que se estreche result.kind antes de leer result.charge.

Mostrame cada hallazgo con archivo y línea.

Lo que va a inventar si usted no se lo dice

Un modelo completa los huecos con lo que es habitual en otras pasarelas. Estas tres no existen en Ayni, y el archivo las declara ausentes por eso mismo:

  • Un webhook hacia su servidor. No hay. Ayni recibe uno del banco, pero no le envía ninguno a usted: su app se entera leyendo el estado con el token público. Si el asistente le propone registrar una URL de callback, se la inventó.
  • Un paquete para su lenguaje. Solo existen los dos de npm. Desde Python, Java, C#, PHP o Go se llama la API por HTTP. No hay pip install que valga.
  • Una referencia de API o un Swagger. No están publicados. Si le aparece una URL de documentación que no sea esta página, el archivo de texto o npm, no existe.

Siguiente paso

La versión para leer con ojos humanos es la página de integración; la versión para el modelo es el archivo.

¿Su asistente le devolvió algo que no cierra? Escríbanos por WhatsApp y lo miramos con usted.