Skip to main content

Check ARCA/AFIP (ex-AFIP) web-service health from Python or the CLI — no credentials needed (uses WSFEv1 FEDummy).

Project description

arca-status

¿Están funcionando los web services de ARCA/AFIP? Averigualo desde Python o la terminal, sin certificados ni clave fiscal.

PyPI CI License: MIT

Cuando ARCA se cae, tu integración de facturación electrónica se cae con ella. arca-status consulta el método FEDummy de WSFEv1 — que devuelve la salud de los servidores de ARCA (AppServer / DbServer / AuthServer) sin necesidad de ticket WSAA ni certificado — para que sepas al instante si el problema es tuyo o de ellos.

Parte del toolkit de FactuARCA, el servicio que factura en ARCA automáticamente desde Zoho Books.

Instalación

pip install arca-status

CLI

$ arca-status
WSFEv1 [produccion]: OK  app=OK db=OK auth=OK (412 ms)

$ arca-status --env homologacion --wsaa
WSFEv1 [homologacion]: OK  app=OK db=OK auth=OK (388 ms)
WSAA   [homologacion]: ALCANZABLE (HTTP 200, 201 ms)

$ arca-status --json
{
  "wsfev1": {
    "env": "produccion", "reachable": true,
    "app_server": "OK", "db_server": "OK", "auth_server": "OK",
    "latency_ms": 412, "error": null, "service": "wsfev1", "ok": true
  }
}

El exit code es 0 si WSFEv1 está OK y 1 en caso contrario — útil en scripts y health checks.

Uso como librería

from arca_status import probe_wsfe, probe_all

s = probe_wsfe("produccion")
if not s.ok:
    print(f"ARCA con problemas: app={s.app_server} db={s.db_server} auth={s.auth_server}")

# Ambos servicios (WSFEv1 + reachability de WSAA) en un dict serializable:
probe_all("produccion")

probe_wsfe() nunca levanta excepción: ante un problema de red/TLS devuelve un WsfeStatus con reachable=False y el error en .error.

Cómo funciona

FEDummy es un método público de WSFEv1 pensado justamente para monitoreo: no lleva la sección Auth (token/sign/cuit) que exigen el resto de las operaciones, así que no hace falta ni certificado ni delegación. arca-status también resuelve el detalle de que los servidores de ARCA usan claves DH cortas que el OpenSSL por defecto de Python 3.10+ rechaza (baja SECLEVEL a 1 solo para esos hosts).

Servicio Producción Homologación
WSFEv1 (FEDummy) servicios1.afip.gov.ar wswhomo.afip.gov.ar
WSAA (reachability) wsaa.afip.gov.ar wsaahomo.afip.gov.ar

Desarrollo

pip install -e ".[dev]"
pytest
ruff check .

Licencia

MIT © FactuARCA.


Hecho por FactuARCA — facturá en ARCA automáticamente desde Zoho Books.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

arca_status-0.1.0.tar.gz (7.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

arca_status-0.1.0-py3-none-any.whl (8.1 kB view details)

Uploaded Python 3

File details

Details for the file arca_status-0.1.0.tar.gz.

File metadata

  • Download URL: arca_status-0.1.0.tar.gz
  • Upload date:
  • Size: 7.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.14

File hashes

Hashes for arca_status-0.1.0.tar.gz
Algorithm Hash digest
SHA256 347db5d9f129ff459cd8b487778e1c8a9a76e4afbe7106f3d7abb48278e8431c
MD5 c441337fdb82d8814246ff5fcc18086b
BLAKE2b-256 168a9bdac8029f3e049c17d6aed75e0e549f477eea449ae7a8ef0203653b6f87

See more details on using hashes here.

Provenance

The following attestation bundles were made for arca_status-0.1.0.tar.gz:

Publisher: publish.yml on puppetmaster886/arca-status

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file arca_status-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: arca_status-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 8.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.14

File hashes

Hashes for arca_status-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 183993ab461e029222ad0a7f69057a3c445d640c56ce4e601e864f2e0e14fada
MD5 95e6969e5bc38fa0735016796d0c6b96
BLAKE2b-256 1cebc96796493b4175e08f86ba2e8f14f525523fe95d61f76088b9ea52149b4d

See more details on using hashes here.

Provenance

The following attestation bundles were made for arca_status-0.1.0-py3-none-any.whl:

Publisher: publish.yml on puppetmaster886/arca-status

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page