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.
Enviar un comprobante
Sección titulada «Enviar un comprobante»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}}." }'$cabeceras = @{ Authorization = "Bearer $env:EMITAY_API_KEY"}$cuerpo = @'{ "to": ["compras@cliente.pe"], "cc": ["contabilidad@miempresa.pe"], "subject": "{{tipo}} {{numero}} de {{empresa}}", "message": "Hola {{cliente}}:\nAdjuntamos tu comprobante por {{total}}."}'@Invoke-RestMethod -Method Post ` -Uri https://api.emitay.com/v1/documents/doc_…/emails ` -Headers $cabeceras ` -ContentType "application/json; charset=utf-8" ` -Body $cuerpoimport { Emitay } from "emitay";
const emitay = new Emitay(); // toma la llave de EMITAY_API_KEY
const correo = await emitay.documents.sendEmail("doc_…", { 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 alcustomer.emailque enviaste al emitir. Si el comprobante no lo tiene, la API responde422sobreto. toadmite de una a diez direcciones ycc, hasta diez.subjectymessagereemplazan la redacción por defecto.messagees 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.
Variables
Sección titulada «Variables»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 |
El resultado llega después
Sección titulada «El resultado llega después»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);Envío automático
Sección titulada «Envío automático»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.
Qué recibe tu cliente
Sección titulada «Qué recibe tu cliente»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.
Límites
Sección titulada «Límites»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.