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

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.txt

Así 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.

En esta página