Anexos

Faça upload de arquivos e anexe-os a emails enviados. Emails recebidos com anexos são automaticamente armazenados e acessíveis via API.

Visão Geral

O AgentSend lida com anexos de arquivo em ambas as direções. Para emails enviados, você faz upload de um arquivo primeiro para obter um ID de anexo, depois passa esse ID ao enviar uma mensagem. Para emails recebidos, quaisquer anexos que o remetente incluiu são automaticamente armazenados e exibidos no objeto da mensagem — nenhum trabalho extra necessário.

Os anexos são armazenados com segurança e servidos via URLs pré-assinadas de curta duração. Os links de download expiram após 1 hora — busque uma URL nova da API quando precisar acessar um arquivo.

Fazendo Upload de um Anexo

Envie uma requisição POST request to /attachments com o arquivo como multipart/form-data. . A resposta retorna um objeto de anexo com um id que você pode usar ao enviar uma mensagem.

curl
curl -X POST https://api.agentsend.io/attachments \
  -H "x-api-key: $AGENTSEND_API_KEY" \
  -F "file=@/path/to/report.pdf"
javascript
const form = new FormData();
form.append("file", fileBlob, "report.pdf");

const res = await fetch("https://api.agentsend.io/attachments", {
  method: "POST",
  headers: { "x-api-key": process.env.AGENTSEND_API_KEY },
  body: form,
});

const attachment = await res.json();
console.log(attachment.id); // e.g. "att_a1b2c3d4"

Propriedades do Anexo

Todo objeto de anexo contém os seguintes campos:

Campo Tipo Descrição
id string Identificador único do anexo (prefixo att_).
filename string Nome do arquivo original conforme enviado ou recebido.
contentType string Tipo MIME, ex. application/pdf or image/png.
size number Tamanho do arquivo em bytes.
url string URL de download pré-assinada. Expira após 1 hora.
createdAt string Data e hora ISO 8601 de quando o anexo foi armazenado.

Anexando a Mensagens

Passe um array attachmentIds no corpo da mensagem ao enviar. Você pode referenciar múltiplos anexos em uma única mensagem.

javascript
// 1. Upload the file
const form = new FormData();
form.append("file", fileBlob, "invoice.pdf");
const { id: attachmentId } = await fetch("https://api.agentsend.io/attachments", {
  method: "POST",
  headers: { "x-api-key": process.env.AGENTSEND_API_KEY },
  body: form,
}).then(r => r.json());

// 2. Send the message with the attachment
await fetch(`https://api.agentsend.io/inboxes/${inboxId}/messages`, {
  method: "POST",
  headers: {
    "x-api-key": process.env.AGENTSEND_API_KEY,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    to: ["customer@example.com"],
    subject: "Your invoice",
    bodyText: "Please find your invoice attached.",
    attachmentIds: [attachmentId],
  }),
});

Recuperando Anexos

Busque um único anexo por ID com GET /attachments/{id}. A resposta inclui uma URL url pré-assinada nova que você pode usar para baixar o arquivo.

javascript
const attachment = await fetch(
  `https://api.agentsend.io/attachments/${attachmentId}`,
  { headers: { "x-api-key": process.env.AGENTSEND_API_KEY } }
).then(r => r.json());

// Download the file using the presigned URL
const fileData = await fetch(attachment.url).then(r => r.arrayBuffer());

Anexos Recebidos

Quando um email de entrada chega com anexos, o AgentSend armazena cada arquivo automaticamente. O objeto da mensagem incluirá um array attachments — cada entrada contém os metadados necessários para identificar e baixar o arquivo.

json — inbound message (excerpt)
{
  "id": "msg_xyz",
  "subject": "Here's the contract",
  "attachments": [
    {
      "id": "att_a1b2c3",
      "filename": "contract.pdf",
      "contentType": "application/pdf",
      "size": 204800
    }
  ]
}

Para baixar um anexo recebido, passe seu id to GET /attachments/{id} para receber uma URL de download pré-assinada conforme mostrado na seção Recuperando Anexos acima.

Limites de Tamanho

O tamanho máximo para um único anexo é 25 MB. Isso se aplica tanto a uploads quanto a anexos de entrada — arquivos que excedem este limite em emails de entrada são descartados e uma nota de truncamento é adicionada à mensagem.

Muitos servidores de email receptores também aplicam seus próprios limites de tamanho de anexo (geralmente 10–25 MB). Mantenha os anexos pequenos ou considere vincular a arquivos hospedados externamente para melhor entregabilidade.