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" }
}| Estado | Qué significa |
|---|---|
pending | El comprobante se aprobó y el envío está en curso (es el estado con el que responde la emisión). |
sent | El proveedor aceptó el mail y va camino al destinatario. |
failed | El envío falló. El campo error trae el motivo y el comprobante queda reenviable. |
skipped | Homologación: no se envió ningún mail (ver abajo). |
delivered | El servidor del destinatario recibió el mail. |
opened | El mail se abrió (ver la aclaración de abajo). |
clicked | El destinatario entró al comprobante desde el mail. Es la señal más fuerte de las tres. |
bounced | El servidor del destinatario rechazó el mail: casi siempre una dirección mal escrita o inexistente. Corregí el email y reenvialo. |
complained | El 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: sent → delivered → opened → clicked, 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/enviarcurl -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
| Status | Motivo |
|---|---|
400 | El 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. |
401 | Falta la API key o es inválida. |
403 | La API key es de solo lectura. |
404 | El comprobante no existe o no pertenece a tu cuenta. |
422 | El comprobante fue rechazado (sin CAE), es de homologación, o no hay destinatario al que enviarlo. |
502 | El envío falló (el comprobante queda failed y podés reintentar). |