Notta Docs

Subir certificado

El .p12 de tu PSC queda cifrado con envelope encryption — paso a paso por dashboard y API.

El certificado digital .p12 es lo que Notta usa para firmar cada DTE en nombre tuyo. Sin él, no se puede emitir.

Requisitos

  • Archivo .p12 o .pfx válido emitido por un PSC (Acepta, eCertChile, IDOK, eFactor, etc).
  • Password del .p12, el mismo que te entregó el PSC.
  • El certificado se emite a una persona natural, así que su RUT normalmente no coincide con el de la empresa. Es lo esperado y Notta lo acepta: lo que el SII exige es que ese titular esté autorizado para firmar por la empresa.

Vía dashboard

  1. Abre app.notta.cl/app/certificates.
  2. Arrastra tu .p12 al recuadro de carga.
  3. Ingresa el password.
  4. Etiqueta el cert ("Producción", "Backup", etc).
  5. Click Subir.

Vas a ver un check con la fecha de expiración y el RUT del titular. El sistema te avisa 30 días antes de que expire.

Vía API

Este endpoint acepta Authorization: Bearer con una key de scope certificates:write, o la cookie de sesión del dashboard. El shape del request y la respuesta:

curl -X POST https://app.notta.cl/api/v1/certificates \
  -H "Authorization: Bearer ntt_cert_..." \
  -H "Idempotency-Key: $(uuidgen)" \
  -F "file=@./mi-cert.p12" \
  -F "password=********" \
  -F "label=Producción"

Salida esperada (201 Created):

{
  "data": {
    "id": "01957a91-0b50-7000-8000-cccc00000001",
    "label": "Producción",
    "not_after": "2027-03-12T00:00:00.000Z"
  }
}

El id de la respuesta es el que va en el header X-Cert-Id al emitir — anótalo (también lo ves en el dashboard).

Vía CLI — en camino

@notta/cli todavía no está publicado en npm, así que el binario notta no se puede instalar. El dashboard y la API cubren el flujo completo. Los comandos previstos están en CLI Reference.

Seguridad

  • Tu .p12 se cifra antes de tocar disco con AES-256-GCM.
  • El password se guarda dentro del mismo blob cifrado que el .p12 — no tiene columna propia y nunca queda en claro. Se descifra en memoria cada vez que hay que firmar un documento o entrar al portal del SII por ti.
  • Cada operación que descifra el cert escribe un entry en audit_log.
  • Rotar la KEK no requiere re-subir el cert — sólo re-wrapping del DEK.

Errores comunes

CódigoCuándoAcción
cert.invalid_requestFalta file, password o label en el form-dataManda los tres campos y reintenta
cert.duplicateEl mismo .p12 ya está subido en tu orgUsa el cert existente o sube uno distinto
org.requiredTu cuenta todavía no tiene organizaciónCompleta el onboarding de la org primero
cert_expiredEl cert venció (se detecta al emitir)Sube el cert renovado

Próximos pasos

  • Tu primer DTE — sigue el quickstart desde el paso 2: cargar folios (CAF) y emitir tu primera Factura 33.
  • Autenticación — API keys, prefijos por entorno, scopes y rotación.
  • Errores — catálogo completo con next_action por código.

Última actualización

En esta página