Servidor xamiSDK — Instalación
Guía rápida para dejar el xamiSDK funcionando en tu infraestructura. El servidor firma con tu chip Xami sin que los documentos salgan de tu red.
Requisitos
- Python 3.9 o superior.
- Conexión saliente hacia Xami (
https://api.xami.run). - Una SDK Key (matrícula) emitida desde la consola de Xami.
Instalar y parear
pip install https://sdk.xami.run/files/xamisdk-0.1.0-py3-none-any.whl
Parea el SDK con Xami (ceremonia única):
xamisdk init --sdk-key xsdk_live_... --secret ...
Comprueba que quedó listo:
xamisdk status
Cuando el estado sea PAREADO y las llaves OK, continúa con los dos pasos de abajo.
Paso 1 · Levantar el servicio
El servicio HTTP local es lo que usan las librerías (XamiLib) para firmar. Se levanta con:
xamisdk serve --port 8300
Ese comando se queda en primer plano (ocupa la terminal). Para que siga escuchando sin bloquear tu sesión y sin que se detenga al cerrar la ventana, usa una de estas formas según tu sistema.
En Windows
Sesión de trabajo (una ventana aparte que puedes minimizar):
start "xamiSDK" cmd /c "xamisdk serve --port 8300 > xamisdk.log 2>&1"
Abre otra ventana con el servicio y guarda toda su salida (incluidos errores) en
xamisdk.log. Puedes seguir trabajando en tu terminal.
Permanente (que arranque solo con el equipo): instala el servicio con
NSSM o créalo como tarea del Programador de tareas de Windows,
apuntando al comando xamisdk serve --port 8300.
En Linux
Sesión de trabajo (segundo plano, sobrevive al cierre de sesión):
nohup xamisdk serve --port 8300 > xamisdk.log 2>&1 &
El & lo manda a segundo plano y nohup evita que muera al cerrar la sesión.
Permanente (recomendado en producción): crea un servicio systemd. Ejemplo de
/etc/systemd/system/xamisdk.service:
[Unit]
Description=xamiSDK
After=network.target
[Service]
ExecStart=/ruta/al/venv/bin/xamisdk serve --port 8300
Restart=always
User=tu_usuario
[Install]
WantedBy=multi-user.target
Luego:
sudo systemctl enable --now xamisdk
Arranca al iniciar el equipo y se reinicia solo si se cae.
Ver los logs
Con las formas de arriba, toda la salida del servicio (avisos y errores) queda en
xamisdk.log gracias a la redirección > xamisdk.log 2>&1 (el 2>&1 es lo que también
manda los errores al archivo).
- Windows:
type xamisdk.log - Linux:
tail -f xamisdk.log(en vivo)
Con systemd, los logs también están en journalctl -u xamisdk -f.
Paso 2 · Crear credenciales de librería
Para que tu aplicación pueda firmar a través del servicio, necesita una credencial de acceso. Se emite con:
xamisdk wrapper:create --name mi-aplicacion
Esto devuelve un wrapper_key (wrp_...) y un wrapper_secret (wsec_...).
Guárdalos: son las credenciales con las que tu aplicación se autentica contra el servicio
local. (Puedes listar las emitidas con xamisdk wrapper:list y revocar una con
xamisdk wrapper:revoke.)
Listo · Usar una librería
Con el servicio corriendo (Paso 1) y tus credenciales (Paso 2), descarga la librería del lenguaje que uses desde sdk.xami.run y configúrala con esas credenciales:
- XamiLib para PHP → ver XamiLib · PHP.
- XamiLib para Python → ver XamiLib · Python.
Cada librería explica su instalación y cómo firmar. Todas usan el mismo wrapper_key /
wrapper_secret para hablar con el servicio local.
Descargar este manual (.md)¿Quieres saber qué hace cada comando en detalle? Consulta Comandos. ¿Y los endpoints del servicio? Consulta Servicios.
