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.
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.
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.
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.
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`); }