Confirmaciones
Cómo funcionan las confirmaciones de Dilohost, qué acciones las piden y cómo debe tratarlas un agente o una integración propia.
Las acciones que borran, sustituyen datos o cuestan dinero no se hacen a la primera. Dilohost devuelve un resumen de lo que va a pasar, el agente te lo explica y solo se ejecuta si das tu aprobación. Así, ni un malentendido ni una instrucción escondida en una web o un correo pueden borrar tu base de datos o comprar un dominio.
Cómo se ve desde la conversación
Borra la base de datos pruebas del proyecto tienda.
El agente no la borra todavía. Te contesta algo así:
Antes de hacerlo: se borrará la base de datos «pruebas» (postgres) del proyecto
«tienda» con todos sus datos. Es irreversible: se borran la base y todas sus
copias, y las apps que la usen fallarán. Si quieres conservar los datos, puedo
darte antes un enlace para descargar una copia. ¿La borro?
Solo si respondes que sí, el agente repite la petición con el código de confirmación y la base se borra.
El protocolo, paso a paso
-
Primera llamada. El agente llama a la acción como siempre. Dilohost no hace nada y responde con
confirmacion_necesaria, unresumeny un códigoconfirm:{ "confirmacion_necesaria": true, "resumen": { "accion": "Borrar la base de datos «pruebas» (postgres) del proyecto «tienda» con todos sus datos.", "efecto": "Es irreversible: se borran la base y todas sus copias. Las apps que la usen fallarán. Si quieres conservar los datos, descarga antes una copia (backup.download_link)." }, "confirm": "1791734400.Q2x9…", "instrucciones": "No se ha hecho nada todavía. Explica el resumen a la persona en lenguaje llano y, SOLO si lo aprueba de forma explícita, repite esta misma llamada con los mismos argumentos y confirm=\"…\". Caduca en 10 minutos." } -
El agente explica el resumen con palabras normales y espera tu respuesta.
-
Segunda llamada, solo con tu aprobación explícita: la misma herramienta, la misma acción y exactamente los mismos argumentos, más
confirmcon el código recibido. Ahora sí se ejecuta.
El contenido de resumen cambia según la acción: precio de un dominio, lo que se cobra al cambiar de plan, qué se pierde al borrar…
Reglas del código
| Regla | Qué significa |
|---|---|
| Caduca a los 10 minutos | Si tardas más, el agente vuelve a pedirlo y recibe un resumen nuevo. |
| Sirve una sola vez | Repetir la llamada con el mismo código no vuelve a ejecutar nada. |
| Va ligado a la acción exacta | Vale solo para esa cuenta, esa persona (o ese token), esa herramienta, esa acción y esos argumentos. Si cambia cualquier cosa (otra base de datos, otro precio), hace falta un código nuevo. |
| No se puede fabricar | Está firmado por Dilohost: un código inventado o modificado no sirve. |
Si el código no vale (caducado, usado o de otra acción), Dilohost no da error: responde otra vez con un resumen y un código nuevo, como en la primera llamada.
Qué acciones piden confirmación
Las principales:
| Tema | Acciones |
|---|---|
| Proyectos | project.delete, project.export, trash.purge |
| Datos | database.delete, backup.restore, backup.download_link, storage.delete, config.unset |
| Publicar | deploy.connect_repo, deploy.disconnect_repo, deploy.subdomain, jobs.remove |
| Dominios y DNS | domain.buy, domain.renew, domain.transfer_in, domain.transfer_code, domain.detach, domain.remove, dns.delete |
| Correo | email.enable, email.disable, email.create, email.delete, email.clean_old_records |
| Cuenta | billing.change_plan, team.remove |
La lista completa y siempre al día está en la referencia de herramientas, en la columna «Pide confirmación».
Si usas un token o una integración propia
Con un token de servicio las confirmaciones funcionan igual. Tu programa recibe el resumen y decide si repite la llamada con confirm. Ten en cuenta que, si lo hace siempre de forma automática, pierdes esta protección: confirma solo las acciones que esperas.
Importante
Si construyes tu propio agente, no repitas nunca la llamada con
confirmsin la aprobación expresa de la persona. Es lo que piden las instrucciones que acompañan a cada resumen.