Saltar al contenido principal

Consultas a ARCA

Consultar el padrón

GET /:id-empresa/arca/padron/:docNumber

Devuelve los datos de un contribuyente a partir de su CUIT o CUIL, ya mapeados a los códigos que usa la emisión.

Por defecto se consulta la Constancia de Inscripción, que responde igual para personas físicas y jurídicas y trae todo lo que necesita customer: nombre o razón social, domicilio fiscal, provincia y condición frente al IVA. result.source dice siempre qué padrón contestó.

ARCA tiene un segundo padrón, el Alcance 13, que agrega actividades y teléfonos. Se pide con ?service=a13, y se delega aparte:

?service=PadrónServicio a delegar en ARCA
(default) · constanciaConstancia de Inscripciónws_sr_constancia_inscripcion
a13Padrón Alcance 13ws_sr_padron_a13

Los dos aceptan cualquier clave fiscal: la diferencia entre alcances es cuántos datos traen, no a quién pueden consultar. Con la constancia delegada alcanza para consultar a cualquier cliente.

GET /:id-empresa/arca/padron/30703088534?service=a13

No hay fallback al otro padrón. Si el que corresponde no puede responder se devuelve el error, no los datos del otro: dos alcances pueden traer datos distintos de la misma clave, y un cambio silencioso de origen convierte "te falta delegar este servicio" en "tomá otro nombre".

El padrón se delega aparte del de facturación

Tener el certificado vinculado no alcanza para consultar el padrón: son servicios distintos y cada uno se autoriza por separado. Si no lo delegaste, este endpoint responde error aunque la emisión funcione perfecto.

En el portal de ARCA, con tu Clave Fiscal, entrá a Administrador de Relaciones de Clave Fiscal → Nueva Relación, buscá los servicios de padrón (Consulta a Padrón A13 y Constancia de Inscripción) y asociá el alias del certificado que creaste. Es el mismo procedimiento con el que autorizaste la facturación electrónica — ver paso 3 de la guía del certificado.

Para homologación el equivalente se hace desde el entorno de homologación de ARCA, donde el Administrador de Relaciones cumple la misma función.

curl https://nanofactura.com/api/mi-empresa/arca/padron/30703088534 \
-H "Authorization: Bearer PROD_tu_api_key"
{
"ok": true,
"result": {
"name": "JUAN PEREZ",
"address": "CALLE FALSA 123 CABA CIUDAD AUTONOMA BUENOS AIRES",
"stateId": 0,
"taxCondition": 6,
"taxConditionName": "Responsable Monotributo",
"docType": 80,
"docNumber": 30703088534,
"source": "constancia",
"details": { }
}
}
CampoSe usa como
namecustomer.name
addresscustomer.address
stateIdcustomer.stateId — puede venir null si no tiene domicilio cargado
taxConditioncustomer.taxTypetal cual, sin traducir
docTypecustomer.docType
docNumbercustomer.docNumber — el padrón lo devuelve numérico y la emisión lo espera string: convertilo
sourceQué padrón contestó: constancia o a13
detailsLa respuesta cruda de ARCA, por si necesitás algo que el mapeo no expone

Tres respuestas que conviene distinguir:

404 NOT_FOUNDARCA no tiene esa clave.
502 ARCA_CONNECTION_ERROREl padrón no pudo responder. Si el mensaje es Computador no autorizado a acceder al servicio, falta delegarlo; si es No se pudo conectar con…, el servicio de ARCA está caído.
400 VALIDATION_ERROREl ?service= pedido no existe.
Es la forma correcta de armar el customer

Si tenés el CUIT, consultá el padrón y usá lo que devuelve. Te asegura que la condición frente al IVA sea la real —que es lo que determina qué comprobante corresponde emitir— y te trae la provincia ya codificada, sin que nadie la tipee mal.

Guardá el resultado en tu base: no hace falta consultarlo en cada venta al mismo cliente.

Condiciones de IVA admitidas

GET /:id-empresa/arca/condicion-iva-receptor?claseCmp=A|B|C

Devuelve el catálogo de condiciones de IVA que ARCA acepta, opcionalmente filtrado por clase de comprobante. Sirve para poblar un desplegable en tu interfaz sin hardcodear la lista, y para verificar qué combinaciones son válidas.

La tabla completa, con los códigos: Condiciones de IVA.

Diagnóstico de la conexión

GET /:id-empresa/arca/status

Prueba en paralelo, contra el entorno de tu clave, la disponibilidad de los servidores de ARCA, la autenticación con tu certificado y el acceso a los padrones:

{
"ok": true,
"environment": "PRODUCTION",
"certificateAlias": "nanofactura-prod",
"dummy": { "AppServer": "OK", "DbServer": "OK", "AuthServer": "OK", "duration": 412 },
"wsfe": { "ok": true, "error": null, "helpText": null, "reusedTicket": true, "duration": 890 },
"padronA13": { "ok": true, "error": null, "helpText": null, "reusedTicket": false, "duration": 763 },
"padronConstanciaInscripcion": { "ok": true, "error": null, "helpText": null, "reusedTicket": false, "duration": 812 }
}

Cuando algo falla, error trae el mensaje de ARCA y helpText una explicación en castellano de qué suele causarlo. Es la primera llamada a hacer cuando la emisión empieza a fallar y no sabés de qué lado está el problema.

BloqueQué prueba
dummyLos servidores de ARCA están arriba
wsfeTu certificado autentica contra facturación electrónica
padronA13Acceso al padrón de personas humanas
padronConstanciaInscripcionAcceso al padrón de personas jurídicas

reusedTicket indica que la prueba usó el Ticket de Acceso que ya estaba vigente en lugar de pedir uno nuevo. ARCA entrega un solo ticket por certificado, servicio y entorno, dura 12 horas y no se puede revocar: pedir otro mientras vive devuelve El CEE ya posee un TA valido. Que haya un ticket vigente ya demuestra que ese certificado autentica contra ese servicio.

Si wsfe falla pero dummy está OK, el problema es tuyo: casi siempre falta autorizar el servicio de facturación al certificado.

Estado de los servidores

GET /:id-empresa/arca/dummy

La versión liviana: sólo el estado de los servidores de ARCA, sin usar el certificado.

{ "AppServer": "OK", "DbServer": "OK", "AuthServer": "OK" }

Útil para distinguir "ARCA se cayó" de "mi configuración está mal" cuando aparecen errores 502 ARCA_CONNECTION_ERROR. Si acá algo no dice OK, el problema no es tuyo: esperá y reintentá.

Estos endpoints tienen más tiempo

Las rutas /arca/* tienen un techo de 25 segundos en vez de los 15 habituales, porque dependen de la respuesta de los servidores de ARCA. Ver Límites.