PDF del comprobante
GET /v1/comprobantes/pdf?idempotencyKey=…&cuit=…&entorno=… devuelve el PDF (application/pdf) de un comprobante aprobado, con todo lo que exige ARCA: letra y código, datos del emisor y del receptor, detalle, totales, CAE y su vencimiento, y el código QR oficial (RG 4892). Una página por defecto (ORIGINAL); con muchos ítems pagina sola.
- Los datos del emisor (razón social, nombre de fantasía, domicilio comercial, Ingresos Brutos, inicio de actividades) se cargan una vez por CUIT: en el portal (Perfil → Datos para la factura) o por API (ver Datos del emisor). Sin ellos →
422 DATOS_EMISOR_FALTANTES. - El detalle sale de
items(si no los mandaste, una línea según el concepto: "Servicios", "Productos"…). Nombre, domicilio y condición de venta del receptor salen dereceptor.nombre,receptor.domicilioycondicionVenta. - Factura B: incluye el Régimen de Transparencia Fiscal al Consumidor (Ley 27.743). Factura A a un monotributista: la leyenda de la Ley 27.618. En otra moneda: el total en pesos con la cotización.
- Al emitir se guarda una copia de los datos del emisor: si después los cambiás, los PDF de comprobantes ya emitidos no cambian.
- Sale con la plantilla guardada al emitir. Para reimprimirlo con otra:
&plantilla=<identificador>(clasicaes la hoja de siempre). El comprobante en ARCA no cambia. - Hasta 60 por minuto por cuenta (
429 RATE_LIMIT). 404 NO_ENCONTRADO: no hay un comprobante aprobado para esa key (o no existe la plantilla pedida).
Plantillas de factura
Cómo se ve el PDF: formato (a4, a5 media hoja, ticket80 o ticket58 para ticketeras térmicas), estilo (clasica, moderna, minimal; solo A4), color, qué va en grande (encabezado: fantasia, razon o logo), un nombre de fantasía y un logo propios, y un pie de texto. Todas llevan lo que exige ARCA.
GET /v1/plantillaslista las de la cuenta;PUT /v1/plantillas/{identificador}crea o reemplaza;DELETE /v1/plantillas/{identificador}borra (los comprobantes ya emitidos conservan su copia).- Al emitir,
"plantilla"elige una. Sin enviarla se usa la plantilla de la API key (se elige en el portal, API keys: así cada app sale con su marca sin cambiar su código), si no la del punto de venta (puntosDeVentade la plantilla), si no la predeterminada (predeterminada: true), si no la Clásica. Se guarda una copia con el comprobante: el PDF, el mail y la reimpresión salen igual aunque después edites la plantilla.
curl -X PUT https://api.arcafactura.com/v1/plantillas/mostrador \
-H "Authorization: Bearer $ARCAFACTURA_API_KEY" -H 'Content-Type: application/json' \
-d '{ "nombre": "Mostrador", "formato": "ticket80", "color": "#000000", "encabezado": "fantasia",
"pie": "¡Gracias por su compra!", "puntosDeVenta": [{ "cuit": 20111111112, "entorno": "produccion", "ptoVta": 4 }] }'
Marca por plantilla. Si vendés por varios canales con el mismo CUIT, cada plantilla puede tener su nombreFantasia (pisa el del CUIT) y su logo. Con "encabezado": "logo" el logo va en lugar del nombre (la razón social sale siempre debajo). El logo va en el mismo PUT: PNG o JPG en base64 (con o sin data:image/...;base64,), de hasta 300 KB y entre 16 y 2000 px por lado. GET /v1/plantillas devuelve su identificador: mandarlo de vuelta lo conserva, null lo quita y si no mandás logo (o nombreFantasia) queda lo que había. El nombre de fantasía se resuelve así: el nombreFantasia del pedido, si no el de la plantilla, si no el del CUIT.
curl -X PUT https://api.arcafactura.com/v1/plantillas/caldoc \
-H "Authorization: Bearer $ARCAFACTURA_API_KEY" -H 'Content-Type: application/json' \
-d '{ "nombre": "CalDoc", "formato": "a4", "estilo": "moderna", "color": "#0f766e", "encabezado": "logo",
"nombreFantasia": "CALDOC", "logo": "data:image/png;base64,iVBORw0KGgo…" }'
Vista previa (sin emitir)
POST /v1/comprobantes/preview con el mismo body que emitir devuelve el PDF tal como saldría, marcado BORRADOR (sin número ni CAE). Valida igual que emitir, pero no va a ARCA ni consume cuota de emisión (cuenta en los 60 PDF por minuto).
Mandar el PDF por mail
POST /v1/comprobantes/enviar con { idempotencyKey, cuit, entorno, email?, mensaje? } manda el PDF adjunto al cliente. Sin email, usa el receptor.email cargado al emitir. El remitente muestra el nombre de fantasía (o la razón social) del emisor "vía arcafactura" y las respuestas van al mail del dueño de la cuenta. El mensaje no puede llevar enlaces. Los comprobantes de homologación salen marcados como [PRUEBA]. Hasta 30 por minuto y 300 por día por cuenta.
curl -X POST https://api.arcafactura.com/v1/comprobantes/enviar \
-H "Authorization: Bearer $ARCAFACTURA_API_KEY" -H 'Content-Type: application/json' \
-d '{ "idempotencyKey": "cobro-8812", "cuit": 20111111112, "entorno": "produccion", "email": "pagos@cliente.com" }'