> ## Documentation Index
> Fetch the complete documentation index at: https://dev.acpay.do/llms.txt
> Use this file to discover all available pages before exploring further.

# Integrar con un asistente de IA

> Toda la documentación en Markdown para que tu asistente de código (Claude, ChatGPT, Cursor, Copilot) integre el API sin adivinar.

Esta documentación está disponible en Markdown para que la lea un asistente de IA. Dale la documentación completa en vez de pedirle que adivine: así usa las rutas, campos y reglas reales del API.

## Archivos para tu asistente

| Archivo | Contenido | Úsalo para |
| - | - | - |
| [`/llms.txt`](https://dev.acpay.do/llms.txt) | Índice de todas las páginas, con enlaces a su versión en Markdown. | Que el asistente elija qué leer. |
| [`/llms-full.txt`](https://dev.acpay.do/llms-full.txt) | Toda la documentación en un solo archivo de texto. | Pegarla completa en el contexto. |
| Cualquier página + `.md` | La página en Markdown. Por ejemplo, [`/guias/inicio-rapido.md`](https://dev.acpay.do/guias/inicio-rapido.md). | Darle solo lo que necesita. |
| Especificación OpenAPI | El contrato completo del API. Descárgala desde el menú de cualquier página de la referencia. | Generar un cliente o validar tipos. |

En cada página, el menú de la esquina superior te deja copiarla en Markdown o abrirla directamente en ChatGPT, Claude o Cursor.

## Instrucción sugerida

Copia esto en tu asistente y ajusta el lenguaje y el framework:

```text theme={null}
Integra el API de facturación electrónica (e-CF) de AC-PAY en este proyecto.
Lee primero la documentación completa: https://dev.acpay.do/llms-full.txt

Requisitos:
- Lenguaje y framework: <el de tu proyecto>.
- Usa el sandbox: https://e-cf.acpay.do/sandbox/v1, con la llave en la variable
  de entorno ACPAY_TEST_KEY (nunca escrita en el código).
- Cada POST lleva Idempotency-Key: genérala una vez por documento, guárdala con
  él y reutilízala en los reintentos.
- Reintenta solo lo que la documentación dice que se puede reintentar (409 por
  Idempotency-Key, cualquier 5xx, 429 con Retry-After), con la misma
  Idempotency-Key.
- Recibe el estado por webhook: verifica la firma HMAC sobre el cuerpo crudo,
  rechaza entregas de más de 5 minutos y deduplica por deliveryId.
- Maneja los errores con la forma { error: { status, message, details } }.
- Escribe pruebas para la emisión, el reintento idempotente y la verificación
  del webhook.
```

## Cuida tu llave

> [!WARNING]
>
> Nunca le des a un asistente de IA tu llave `acpay_live_...`, ni la pegues en un chat. Si el asistente necesita probar contra el API, usa la llave de prueba desde una variable de entorno de tu máquina.

Revisa el código que genere antes de usarlo: que no escriba la llave en el código ni en los logs, y que no emita un comprobante nuevo en cada reintento.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.