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ón | Servicio a delegar en ARCA |
|---|---|---|
(default) · constancia | Constancia de Inscripción | ws_sr_constancia_inscripcion |
a13 | Padrón Alcance 13 | ws_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".
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": { }
}
}
| Campo | Se usa como |
|---|---|
name | customer.name |
address | customer.address |
stateId | customer.stateId — puede venir null si no tiene domicilio cargado |
taxCondition | customer.taxType — tal cual, sin traducir |
docType | customer.docType |
docNumber | customer.docNumber — el padrón lo devuelve numérico y la emisión lo espera string: convertilo |
source | Qué padrón contestó: constancia o a13 |
details | La respuesta cruda de ARCA, por si necesitás algo que el mapeo no expone |
Tres respuestas que conviene distinguir:
404 NOT_FOUND | ARCA no tiene esa clave. |
502 ARCA_CONNECTION_ERROR | El 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_ERROR | El ?service= pedido no existe. |
customerSi 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.
| Bloque | Qué prueba |
|---|---|
dummy | Los servidores de ARCA están arriba |
wsfe | Tu certificado autentica contra facturación electrónica |
padronA13 | Acceso al padrón de personas humanas |
padronConstanciaInscripcion | Acceso 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á.
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.