Cómo funciona el ejemplo descargable
El formulario llama a /consulta en su propio origen. El proxy Node.js valida el tipo y la longitud del documento, comprueba autenticación y añade Authorization: Bearer al comunicarse con DatosPerú. El navegador recibe únicamente el resultado de la consulta.
Descarga index.html, app.js y server.mjs en una misma carpeta. Utiliza Node.js 24 o posterior. Crea un archivo .env local con DATOSPERU_API_KEY, DEMO_USER y DEMO_PASSWORD; la contraseña local debe tener al menos doce caracteres. Arranca con node --env-file=.env server.mjs.
Prueba local con datos autorizados
Abre http://127.0.0.1:4871. El navegador pedirá las credenciales DEMO_USER y DEMO_PASSWORD del ejemplo. Selecciona DNI o RUC y realiza una consulta autorizada. Cada respuesta exitosa consume un crédito real de tu cuenta; el ejemplo no utiliza respuestas simuladas.
El resultado se muestra mediante textContent, sin interpretar HTML externo. El botón queda desactivado durante la petición para evitar envíos simultáneos accidentales. El token no aparece en el HTML, en app.js ni en la respuesta enviada al navegador.
Adapta el proxy a tu aplicación
La demostración escucha únicamente en loopback. Para producción, integra la ruta en tu backend con tus sesiones, permisos, HTTPS y límites persistentes por usuario. No conviertas el proxy en una ruta pública que cualquiera pueda utilizar con los créditos de tu cuenta.
En WordPress o un checkout, coloca la llamada desde el servidor de tu aplicación. En Next.js, utiliza una Route Handler o una función del servidor y mantén la variable de API Key fuera del prefijo NEXT_PUBLIC. El contrato de DatosPerú no cambia por utilizar un formulario HTML.