Ir al contenido

Enviar por correo

Emitay envía el comprobante por correo con el PDF, el XML firmado y el CDR adjuntos. Puedes pedirlo por cada comprobante o dejar que salga solo cuando SUNAT lo acepta.

Ventana de terminal
curl https://api.emitay.com/v1/documents/doc_…/emails \
-H "Authorization: Bearer $EMITAY_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"to": ["compras@cliente.pe"],
"cc": ["contabilidad@miempresa.pe"],
"subject": "{{tipo}} {{numero}} de {{empresa}}",
"message": "Hola {{cliente}}:\nAdjuntamos tu comprobante por {{total}}."
}'

Todo es opcional:

  • Sin to, el correo va al customer.email que enviaste al emitir. Si el comprobante no lo tiene, la API responde 422 sobre to.
  • to admite de una a diez direcciones y cc, hasta diez.
  • subject y message reemplazan la redacción por defecto. message es texto plano; sus saltos de línea se conservan.

Solo se envía un comprobante que SUNAT aceptó (accepted u observed); cualquier otro responde 409.

El asunto y el mensaje pueden nombrar datos del comprobante entre llaves dobles:

Variable Valor
{{tipo}} El tipo de comprobante: «Factura electrónica»…
{{numero}} F001-123
{{empresa}} El nombre de tu empresa
{{ruc}} Tu RUC
{{cliente}} El nombre del cliente
{{fecha}} La fecha de emisión, dd/mm/aaaa
{{total}} El importe total

La respuesta es el correo en queued: la API no espera a ningún servidor de correo. El resultado llega como evento:

Evento Qué pasó
email.sent El servidor de correo aceptó el mensaje
email.failed No se pudo enviar. El motivo está en data.object.last_error

Si el servidor de correo no responde, Emitay lo intenta hasta seis veces a lo largo de unas horas antes de dar el correo por fallido. email.sent significa que el servidor lo aceptó, no que llegó a la bandeja: los rebotes posteriores no se leen.

const envios = await emitay.documents.emails.list("doc_…");
for (const envio of envios.data) console.log(envio.status, envio.to, envio.last_error);

Con auto_email activado en los ajustes de la empresa, cada comprobante que SUNAT acepta se envía solo al customer.email con que se emitió. No hay que llamar a nada; sin correo del cliente, no se envía.

Un correo en español con el nombre, el RUC y el logo de tu empresa, el tipo y el número del comprobante, su fecha, su total, un botón «Ver comprobante» que abre el PDF y los archivos adjuntos, con el nombre que SUNAT les da (20123456786-01-F001-123.pdf).

  • Remitente. Sale desde el servidor de Emitay, con el nombre de tu empresa, y las respuestas van al correo de tu empresa. Si configuras el servidor SMTP de tu empresa, sale por él, desde tu propia dirección.
  • El PDF adjunto va siempre en A4.
  • En modo de prueba el correo se envía de verdad, a las direcciones que indiques, con el aviso «Comprobante de prueba» y el asunto precedido de [Prueba]. No uses correos de clientes reales en tus pruebas.

El envío de correos tiene su propio límite, de 30 por minuto por llave, además del general. Acepta Idempotency-Key: repetir la llave devuelve el mismo correo en lugar de enviar otro.

La referencia está en Correos.