factadesarrolladores API 0.1.0-esqueleto

De pruebas a producción

No hay una URL de pruebas y otra de producción. Hay una URL, y la llave que use en cada petición decide contra qué ambiente del Ministerio transmite.

La llave es el ambiente

Una llave facta_test_ transmite al ambiente de pruebas del Ministerio (apitest.dtes.mh.gob.sv); una facta_live_, al servicio de producción. El prefijo de la llave viene marcado desde que se acuñó y no se puede cambiar después.

La misma URL para los dos ambienteshttps://hcnvknpsbadplnfcflxx.supabase.co/functions/v1/api-v1

El servidor compara dos ambientes, no uno

Acuñar una llave facta_live_ exige que la empresa ya haya completado su propia ceremonia de paso a producción en la aplicación — la que registra el certificado y la credencial de transmisión reales ante el Ministerio. Y en cada petición, el servidor vuelve a comparar el ambiente de la llave con el ambiente de la empresa antes de firmar nada.

Cruzarlos —una llave de pruebas contra una empresa ya en producción, o al revés— es 403 environment_not_allowed. Esto protege en los dos sentidos: una llave de pruebas nunca alcanza a emitir un documento fiscal real, y una llave de producción nunca ensucia el ambiente de pruebas con datos que no son ventas de verdad.

Qué cambia, y qué no

Lo único que cambia entre pruebas y producción es la llave — literalmente esa cadena, nada más:

  • La URL base es la misma.
  • Las cabeceras son las mismas.
  • El cuerpo de cada petición es el mismo.
  • El código de su integración no necesita ninguna rama por ambiente.

Si su sistema tiene un if (ambiente === "produccion") en algún punto de la integración con esta API, esa rama probablemente sobra: la diferencia ya la resuelve qué llave está configurada en ese despliegue.

Antes de acuñar la llave de producción

Repase la lista de Empezar: guardar el jws de cada emisión y no el documento, tratar el 202 como resultado y no como fallo, usar una Idempotency-Key estable por venta, y tener un camino para el 422 mh_rejected que reuse el correlativo gastado. Probarlas contra el ambiente 00 no tiene ningún costo ni consecuencia fiscal; la primera vez que se prueban en producción, si algo falla, ya hay un documento real de por medio.

Conserve las llaves de pruebas

Pasar a producción no jubila la llave facta_test_: es donde se prueba el cambio siguiente, sin arriesgar un correlativo real cada vez que se despliega algo nuevo.

Otras guías

Escriba para buscar Por ejemplo: idempotencia, contingencia, 422, emitir.

moverse Enter abrir Esc cerrar