ARCA {API}
Facturación (WSFEv1)

Envío por email

El comprobante le llega solo a tu cliente, con el PDF adjunto, apenas ARCA lo aprueba.

Pasá un email al emitir y el comprobante se le manda solo a tu cliente final, con el PDF adjunto. No tenés que descargar nada ni abrir tu correo: es el paso que el facturador de ARCA te deja hacer a mano.

Cómo funciona

Agregás el campo email al request de emisión — factura o nota de crédito/débito:

{
  "environment": "produccion",
  "representada": "27111111118",
  "cbteTipo": 6,
  "ptoVta": 1,
  "docTipo": 80,
  "docNro": "30999888777",
  "concepto": 1,
  "condicionIvaReceptorId": 1,
  "email": "cliente@empresa.com",
  "items": [
    { "cantidad": 1, "descripcion": "Servicio", "precioUnitario": 10000, "alicuotaIva": 21 }
  ]
}

Si ARCA aprueba el comprobante, el envío arranca después de que te respondimos: la emisión no paga la latencia del PDF ni la del proveedor de email, y un fallo del envío nunca afecta al comprobante, que ya tiene su CAE.

El mail lleva el logo y la razón social del emisor (los que configurás en Diseño de PDF), los datos del comprobante, el PDF adjunto y un link para verlo online. Las respuestas de tu cliente van al email del emisor que cargaste en esa misma pantalla — si no cargaste ninguno, el mail sale igual, pero sin dirección de respuesta.

Estados del envío

El estado viaja en el campo email de la respuesta de emisión y de la consulta de comprobante:

{
  "resultado": "A",
  "cae": "75050000000001",
  "email": { "to": "cliente@empresa.com", "status": "sent" }
}
EstadoQué significa
pendingEl comprobante se aprobó y el envío está en curso (es el estado con el que responde la emisión).
sentEl proveedor aceptó el mail y va camino al destinatario.
failedEl envío falló. El campo error trae el motivo y el comprobante queda reenviable.
skippedHomologación: no se envió ningún mail (ver abajo).
deliveredEl servidor del destinatario recibió el mail.
openedEl mail se abrió (ver la aclaración de abajo).
clickedEl destinatario entró al comprobante desde el mail. Es la señal más fuerte de las tres.
bouncedEl servidor del destinatario rechazó el mail: casi siempre una dirección mal escrita o inexistente. Corregí el email y reenvialo.
complainedEl destinatario lo marcó como spam.

Un comprobante emitido sin email no tiene estado de envío: el campo no aparece.

Después del envío

Los cinco últimos estados los reporta el proveedor de email después de que aceptó el mail (sent), así que el estado de un comprobante puede seguir cambiando un rato después de emitirlo. El avance nunca retrocede: sentdeliveredopenedclicked, y un rebote o una queja pisan cualquier estado anterior.

clicked está por encima de opened porque para clickear hay que haber abierto: una vez que un comprobante llegó a clicked, una apertura tardía ya no lo hace retroceder.

opened es una señal, no una certeza. La apertura se detecta con un pixel, y los proxies de privacidad del correo (Apple Mail Privacy Protection, o el proxy de imágenes de Gmail) lo cargan solos aunque el destinatario nunca haya leído el mail. Sirve para saber que el mail llegó a un buzón vivo; no lo uses como prueba de que tu cliente lo leyó. Lo inverso también pasa: un cliente que bloquea imágenes puede leer la factura y quedar en delivered para siempre.

clicked es más confiable que opened porque exige una acción deliberada, pero tampoco es infalible: los escáneres de seguridad corporativos (Microsoft Safe Links, Proofpoint URL Defense) siguen los enlaces automáticamente para analizarlos, y eso puede generar un click que nadie hizo.

Y al revés, la ausencia de clicked no significa que el comprobante no se haya leído: el PDF viaja adjunto, así que lo más común es que tu cliente lo abra desde el adjunto sin tocar ningún enlace. Un comprobante en delivered u opened puede estar perfectamente leído.

Homologación nunca envía

En environment: "homologacion" no sale ningún mail real, sin excepciones: los comprobantes de prueba no tienen valor fiscal y mandarlos a un cliente de verdad es un error del que no se vuelve. La emisión con email queda en skipped, y el endpoint de envío manual rechaza el pedido.

Para probar el envío de punta a punta, emití en produccion con un email tuyo como destinatario.

Reintentos e idempotencia

Un retry con la misma Idempotency-Key devuelve el comprobante ya emitido y no vuelve a enviar el mail: tu cliente no recibe duplicados aunque reintentes la emisión.

Si un envío queda failed (o si emitiste sin email y querés mandarlo después), usá el endpoint de envío manual.

Enviar o reenviar a mano

POST /api/wsfe/comprobante/enviar
curl -X POST https://arca.api.com.ar/api/wsfe/comprobante/enviar \
  -H "Authorization: Bearer ak_TuSecretoAqui" \
  -H "Content-Type: application/json" \
  -d '{
    "environment": "produccion",
    "representada": "27111111118",
    "ptoVta": 1,
    "cbteTipo": 6,
    "cbteNro": 42,
    "email": "otro@empresa.com"
  }'

El comprobante se identifica por la misma tupla que el resto de la API. El campo email es opcional: si lo mandás, pisa al destinatario guardado (sirve para corregir un mail mal escrito); si no, se reenvía al que ya tenía.

{
  "enviado": true,
  "email": { "to": "otro@empresa.com", "status": "sent" }
}

A diferencia del envío automático, acá esperamos el resultado: si el mail no sale, la respuesta es un error, no un sent.

Lo mismo se puede hacer desde el dashboard: en Comprobantes, el detalle de cada comprobante muestra el estado del envío y un botón para enviarlo o reenviarlo.

Errores

StatusMotivo
400El email no tiene un formato válido. En la emisión, se rechaza antes de llamar a ARCA: un mail mal escrito no te consume un número de comprobante.
401Falta la API key o es inválida.
403La API key es de solo lectura.
404El comprobante no existe o no pertenece a tu cuenta.
422El comprobante fue rechazado (sin CAE), es de homologación, o no hay destinatario al que enviarlo.
502El envío falló (el comprobante queda failed y podés reintentar).

En esta página