Inicio rápido con IA
Dale esta documentación a tu asistente y pídele la integración. Prompt de arranque y URLs legibles por máquina.
Toda esta documentación está publicada también en formatos que lee una máquina: markdown crudo por página, un archivo con el portal completo, y la especificación OpenAPI. Si integras con ayuda de un asistente, dale eso como contexto en lugar de dejarlo adivinar.
El prompt de arranque
Cópialo, pégalo en tu asistente y describe tu caso en la última línea.
Estoy integrando Firmame, un servicio de firma electrónica, y quiero tu ayuda para escribir el código.Documentación:- Documentación completa en un solo archivo: https://devs.firmame.com/llms-full.txt- Índice de páginas: https://devs.firmame.com/llms.txt- Especificación OpenAPI: https://devs.firmame.com/openapi.yaml- Cualquier página en markdown: añade `.md` a su URL.Lee primero la documentación completa y usa únicamente los endpoints y campos que encuentres ahí.Todos los SDKs construyen la firma por ti y están listados en https://devs.firmame.com/docs/sdks. En TypeScript oNode el paquete es `npm install firmame.ts`. Si no usas ninguno, aplica las reglas de firma de más abajo.La API está en https://app.firmame.com. Una integración típica son cuatro pasos:1. `POST /developers/json` crea el documento. Le mandas de dónde viene el PDF (`url_doc`, `b64_doc` o `template`) y un arreglo `stickers` — un recuadro de firma por firmante, con su página y su rectángulo. Devuelve `document_ticket` y `document_url`.2. Un objeto `workflow` en esa misma llamada define el orden de firma, los recordatorios y la expiración, y deja las invitaciones a cargo de Firmame. Omítelo si prefieres repartir tú `document_url`.3. Firmame avisa a tu URL de webhook conforme pasan las cosas. `document_completed` es el evento sobre el que conviene montar tu lógica: todos los recuadros quedaron firmados.4. `POST /developers/webhook` cambia el `notification_id` de la notificación por el documento.La autenticación es la parte que hay que armar con cuidado. Cada petición lleva: Authorization: signmage {webId}:{base64(HMAC_SHA256(apiKey, cadenaFirmada))}y lo que entra en `cadenaFirmada` depende de la petición:- `GET`: la URI completa tal como se envía, con query string incluida. El orden y el encoding de los parámetros forman parte de lo que se firma, así que arma la URL una sola vez y firma esa cadena exacta.- `POST` con JSON: el cuerpo serializado compacto — sin espacios, sin salto de línea final. Serialízalo una vez y manda esa misma cadena como cuerpo.- `POST` multipart: el SHA-256 en Base64 del archivo, que además va en el header `Content-SHA256`.Una firma que no coincide devuelve `401` con cuerpo vacío, así que la respuesta no da ninguna pista —construye la cadena firmada con cuidado.Mis credenciales están en las variables de entorno `FIRMAME_WEB_ID` y `FIRMAME_API_KEY`. No las escribasen el código.Lo que quiero hacer: <describe aquí tu caso>Lleva las tres cosas que necesita saber antes de escribir la primera línea: dónde está la documentación, el
flujo de una integración típica, y cómo se firma cada petición. Esa última parte es la que conviene no
dejar al azar: una firma que no coincide devuelve 401 con cuerpo vacío, sin nada en la respuesta de dónde
agarrarse. Si quieres el detalle, está en Errores 401.
Las URLs legibles por máquina
llms-full.txt
El portal completo en un solo archivo de texto: las guías y las 35 operaciones de la referencia, con sus parámetros, campos y ejemplos. Es el que conviene dar como contexto.
llms.txt
El índice: cada página con su URL y una línea de qué contiene. Útil para que el asistente decida qué leer antes de bajarse todo.
openapi.yaml
La especificación OpenAPI 3.1 completa. Para generadores de clientes, clientes HTTP y cualquier herramienta que lea OpenAPI directamente.
Cualquier página en markdown
Añade .md a la URL de cualquier página y recibes su markdown. También funciona con el header Accept: text/markdown sobre la URL normal.
Todas existen en los dos idiomas: el inglés vive bajo /en — /en/llms-full.txt, /en/openapi.yaml,
/en/docs/autenticacion.md.
Cargar la documentación como contexto
Guarda el archivo en el repositorio donde estás trabajando y menciónalo en tu petición:
curl -o docs/firmame.md https://devs.firmame.com/llms-full.txtAsí queda disponible en cada sesión sin volver a descargarlo. También puedes pegar la URL en el chat y pedirle que la lea.
Dos cosas que vale la pena revisar del código generado
Que la cadena firmada se arme una sola vez. En GET se firma la URI completa tal como se envía, y en
POST con JSON se firma el cuerpo compacto. Si el código construye la URL o serializa el JSON dos veces —una
para firmar y otra para enviar— cualquier diferencia mínima entre las dos versiones produce un 401.
Que los endpoints y los campos existan. La Referencia de API es la lista completa: 35 operaciones y 12 eventos de webhook. Si el código llama a algo que no está ahí, viene de una suposición.