Todo lo que sigue —cada comando y cada respuesta— se ejecutó. Las
respuestas son las que devolvió la API, sin retocar. Corrieron contra
homologación, que es el entorno donde vas a empezar y donde ARCA entrega
CAE real: no es un simulador.
Antes de empezar: lo que Emissa no te puede dar
Para emitir contra ARCA hacen falta tres cosas, y dos son trámites tuyos ante el organismo:
El punto de venta tiene su vuelta: el alta del portal web no sirve para
emitir por API. Está en Qué es un punto de venta.
1 · La clave
Esto se hace en el panel, con el navegador. El alta de cuenta y la creación de claves son del panel a propósito, porque entregar una credencial de integración es de lo más sensible que hace el sistema.1
Creá tu cuenta y verificá el correo
En emissa.com.ar.
2
Activá el segundo factor
No es opcional: sin 2FA no se pueden crear API keys.
3
Cargá tu contribuyente
CUIT, razón social, condición frente al IVA, punto de venta y domicilio.
4
Subí el certificado y su clave privada
Emissa los guarda cifrados. El panel nunca vuelve a mostrar la clave
privada.
5
Generá una API key de prueba
Empieza con
emi_test_. Se muestra una sola vez — guardala en tu gestor
de secretos.El otro dato que vas a necesitar
Cada emisión pide el id de tu contribuyente, y no es el CUIT: es el id que Emissa le dio. Se obtiene con la clave que acabás de crear:taxpayerId es el que va en el cuerpo de la emisión. Alcanza con una clave
que declare invoice:read — verificado con una clave que sólo tenía ese
scope.
2 · Emitir
Una Factura B a consumidor final por $1.000 + IVA.201 Created, en 7,1 segundos. Lo importante de la respuesta:
Eso es un comprobante fiscal. El
cae y su vencimiento los emitió ARCA,
no Emissa.La respuesta completa
La respuesta completa
emitter, receiver, items, customer,
taxes, associations, optionals y observations. Los campos de arriba son
textuales.Los importes viajan como string, no como número: "1210.00". Es a
propósito —un float no representa pesos— y tu cliente HTTP no tiene que
redondear nada.Los cuatro campos que más se eligen mal
La clave de idempotencia es obligatoria
Repetí el mismo pedido con la misma clave y no se emite un segundo: devuelve el mismo comprobante, el mismo CAE y el mismo número, en 0,02 s en vez de 7,1 porque no sale a ARCA.Qué pasa sin la clave, y qué pasa al repetir
Qué pasa sin la clave, y qué pasa al repetir
Sin el header:Repitiendo el mismo comando, sin cambiar nada:Verificado contando en la base: siguió habiendo uno con ese CAE.
3 · Consultar
4 · El PDF
5 · Anular
En Argentina un comprobante autorizado no se borra: se anula emitiendo una nota de crédito que lo referencia. Emissa lo hace en un pedido.La nota de crédito tiene su propio CAE, distinto del de la factura: es un
comprobante fiscal por derecho propio. Y la factura original conserva el suyo
—fue válida y ARCA la autorizó— y ahora apunta a la nota que la anula.
Cuánto tarda de verdad
Tiempos medidos en la corrida de arriba, en el orden en que se hicieron:
Los cuatro pedidos suman menos de 8 segundos. El primero paga la
autenticación contra ARCA, que dura 12 horas y queda cacheada: por eso anular
—que también sale a ARCA— tardó 0,35 s y no 7.
Si tu primera emisión tarda parecido, está bien.
El error que casi todos cometen primero
La clave va enX-API-Key. En Authorization no funciona, y la API lo dice:
Sobre el sandbox y producción
La clave de prueba opera contra homologación, y homologación no consume cuota: después de emitir la factura y la nota de crédito, el consumo seguía en cero —total: 2 comprobantes, billable: 0.
Lo que ARCA te va a exigir para producción, y que Emissa no verifica porque vive
del otro lado:
- Certificado productivo.
- Punto de venta de tipo «Factura Electrónica – Web Service» — uno de Comprobantes en Línea no sirve.
- El servicio autorizado.
403, y una productiva sin credencial
cargada devuelve 400. Los dos conjuntos son disjuntos a propósito: no podés
emitir un comprobante fiscal real con la clave con la que estabas probando.
Qué sigue
Qué es un punto de venta
El alta que hay que hacer en ARCA antes de emitir.
Comprobantes A, B y C
Elegir mal el tipo es el rechazo más común.
Cómo se numera una serie
Por qué un hueco importa.
Referencia de la API
El detalle de cada operación.