Caixas de Entrada

Cada agente recebe sua própria caixa de entrada com um endereço de email único. As caixas de entrada são a unidade fundamental no AgentSend.

Visão Geral

Uma caixa de entrada é um endereço de email dedicado para um único agente. Cada email que seu agente envia ou recebe passa por uma caixa de entrada. Você pode criar quantas caixas de entrada precisar — uma por agente, uma por cliente, uma por fluxo de trabalho — sem limites.

Por padrão, as caixas de entrada são provisionadas no domínio @agentsend.io . Se você quiser que seus agentes enviem do seu próprio domínio (e.g. agent@yourcompany.com), see Domínios Personalizados.

As caixas de entrada são isoladas umas das outras. Um agente só pode enviar e receber emails através de sua própria caixa de entrada — não pode acessar as mensagens de outra caixa de entrada.

Criando uma Caixa de Entrada

POST /inboxes

Crie uma nova caixa de entrada enviando uma requisição POST. Ambos os campos do corpo são opcionais — se você omitir displayName, a caixa de entrada é criada sem ele. Se você omitir domainId, o endereço é provisionado em @agentsend.io.

javascript
const res = await fetch("https://api.agentsend.io/inboxes", {
  method: "POST",
  headers: {
    "x-api-key": process.env.AGENTSEND_API_KEY,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    displayName: "Support Agent",   // optional
    domainId: "dom_abc123",         // optional — omit for @agentsend.io
  }),
});

const inbox = await res.json();
console.log(inbox.address); // e.g. a1b2c3@agentsend.io
console.log(inbox.id);      // e.g. inb_7x9kQm2Np...

A resposta inclui o objeto completo da caixa de entrada, incluindo o address gerado automaticamente que você pode começar a usar imediatamente.

Propriedades da Caixa de Entrada

Todo objeto de caixa de entrada possui os seguintes campos:

Propriedade Tipo Descrição
id string (uuid) Identificador único da caixa de entrada. Use em todas as chamadas de API.
address string (email) O endereço de email completo atribuído a esta caixa de entrada, e.g. a1b2c3@agentsend.io.
displayName string | null Rótulo legível da caixa de entrada. Mostrado como nome do remetente nos cabeçalhos de emails enviados.
domainId string | null O ID de um domínio personalizado associado a esta caixa de entrada. null para endereços padrão @agentsend.io .
status string Status atual da caixa de entrada: active, suspended, or deleted. Apenas caixas de entrada active podem enviar e receber.
dailySendLimit number Número máximo de emails que esta caixa de entrada pode enviar em uma janela de 24 horas.
sendsToday number Número de emails enviados na janela atual de 24 horas. Reinicia à meia-noite UTC.
totalSent number Contagem cumulativa de todos os emails enviados desta caixa de entrada desde sua criação.
bounceCount number Número de bounces permanentes registrados para esta caixa de entrada. Altas taxas de bounce podem acionar suspensão.
complaintCount number Número de reclamações de spam registradas para esta caixa de entrada.
createdAt string (ISO 8601) Data e hora de quando a caixa de entrada foi criada.

Domínios Personalizados

Por padrão, toda caixa de entrada recebe um endereço em @agentsend.io. Se você quiser que seus agentes enviem do seu próprio domínio — por exemplo agent@support.yourcompany.com — você pode conectar um domínio personalizado e passar o domainId ao criar uma caixa de entrada.

💡

Domínios personalizados melhoram a entregabilidade e a confiança da marca. Veja o guia de Domínios para adicionar e verificar seu domínio, depois volte aqui para criar caixas de entrada nele.

Listando Caixas de Entrada

GET /inboxes

Recupere uma lista paginada de todas as caixas de entrada em sua conta. Use limit and offset para paginar os resultados.

javascript
const res = await fetch(
  "https://api.agentsend.io/inboxes?limit=20&offset=0",
  {
    headers: { "x-api-key": process.env.AGENTSEND_API_KEY },
  }
);

const { data, total } = await res.json();
// data  — array of inbox objects
// total — total count across all pages

for (const inbox of data) {
  console.log(inbox.address, inbox.status, inbox.sendsToday);
}
Parâmetro de Consulta Tipo Descrição
limit number Número de resultados a retornar. Padrão é 20, max 100.
offset number Número de resultados a pular. Padrão é 0.

Excluindo uma Caixa de Entrada

DELETE /inboxes/{id}

Exclui permanentemente uma caixa de entrada e todas as mensagens, conversas e webhooks associados.

Esta ação é permanente e não pode ser desfeita. Todas as mensagens, conversas e assinaturas de webhook pertencentes à caixa de entrada são excluídas imediatamente. O endereço de email da caixa de entrada é liberado e pode ser reatribuído.

javascript
await fetch(`https://api.agentsend.io/inboxes/${inboxId}`, {
  method: "DELETE",
  headers: { "x-api-key": process.env.AGENTSEND_API_KEY },
});
// Returns 204 No Content on success

Limites de Envio

Cada caixa de entrada possui um dailySendLimit que limita quantos emails pode enviar em uma janela de 24 horas. O campo sendsToday informa quantos envios foram usados na janela atual.

Se uma caixa de entrada atingir seu limite, as requisições de envio subsequentes retornam um erro 429 Too Many Requests . A janela reinicia à meia-noite UTC.

Monitore sendsToday antes de enviar rajadas de alto volume. Se seu agente precisar enviar mais do que o limite padrão permite, entre em contato com o suporte para solicitar um aumento para sua conta.

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

const remaining = inbox.dailySendLimit - inbox.sendsToday;
if (remaining <= 0) {
  console.log("Daily send limit reached. Try again after midnight UTC.");
} else {
  console.log(`${remaining} sends remaining today`);
}