Bandejas de Entrada
Cada agente obtiene su propia bandeja de entrada con una dirección de email única. Las bandejas de entrada son la unidad fundamental en AgentSend.
Descripción General
Una bandeja de entrada es una dirección de email dedicada para un solo agente. Cada email que tu agente envía o recibe fluye a través de una bandeja de entrada. Puedes crear tantas bandejas de entrada como necesites — una por agente, una por cliente, una por flujo de trabajo — no hay límites.
Por defecto, las bandejas de entrada se aprovisionan en el dominio @agentsend.io. Si quieres que tus agentes envíen desde tu propio dominio (ej. agent@yourcompany.com), consulta Dominios Personalizados.
Las bandejas de entrada están aisladas entre sí. Un agente solo puede enviar y recibir email a través de su propia bandeja de entrada — no puede acceder a los mensajes de otra bandeja.
Crear una Bandeja de Entrada
POST /inboxes
Crea una nueva bandeja de entrada enviando una solicitud POST. Ambos campos del cuerpo son opcionales — si omites displayName, la bandeja se crea sin uno. Si omites domainId, la dirección se aprovisiona en @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...
La respuesta incluye el objeto completo de la bandeja de entrada, incluyendo la address generada automáticamente que puedes empezar a usar inmediatamente.
Propiedades de la Bandeja de Entrada
Cada objeto de bandeja de entrada tiene los siguientes campos:
| Propiedad | Tipo | Descripción |
|---|---|---|
id |
string (uuid) | Identificador único de la bandeja de entrada. Úsalo en todas las llamadas API. |
address |
string (email) | La dirección de email completa asignada a esta bandeja de entrada, e.g. a1b2c3@agentsend.io. |
displayName |
string | null | Etiqueta legible de la bandeja de entrada. Se muestra como nombre del remitente en los encabezados de email saliente. |
domainId |
string | null | El ID de un dominio personalizado asociado a esta bandeja de entrada. null for default @agentsend.io addresses. |
status |
string | Estado actual de la bandeja de entrada: active, suspended, or deleted. Solo las bandejas active pueden enviar y recibir. |
dailySendLimit |
number | Número máximo de emails que esta bandeja puede enviar en una ventana de 24 horas. |
sendsToday |
number | Número de emails enviados en la ventana actual de 24 horas. Se reinicia a medianoche UTC. |
totalSent |
number | Conteo acumulado de todos los emails enviados desde esta bandeja desde su creación. |
bounceCount |
number | Número de rebotes duros registrados para esta bandeja. Las tasas altas de rebote pueden provocar suspensión. |
complaintCount |
number | Número de quejas de spam registradas para esta bandeja. |
createdAt |
string (ISO 8601) | Marca de tiempo de cuándo se creó la bandeja de entrada. |
Dominios Personalizados
Por defecto, cada bandeja de entrada obtiene una dirección en @agentsend.io. If you want your agents to send from your own domain — for example agent@support.yourcompany.com — puedes conectar un dominio personalizado y pasar el domainId al crear una bandeja de entrada.
Los dominios personalizados mejoran la entregabilidad y la confianza de marca. Consulta la guía de Dominios para agregar y verificar tu dominio, luego regresa aquí para crear bandejas de entrada en él.
Listar Bandejas de Entrada
GET /inboxes
Recupera una lista paginada de todas las bandejas de entrada en tu cuenta. Usa limit y offset para paginar los 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 | Type | Description |
|---|---|---|
limit |
number | Número de resultados a devolver. Defaults to 20, max 100. |
offset |
number | Número de resultados a omitir. Defaults to 0. |
Eliminar una Bandeja de Entrada
DELETE /inboxes/{id}
Elimina permanentemente una bandeja de entrada y todos los mensajes, hilos y webhooks asociados.
Esta acción es permanente y no se puede deshacer. Todos los mensajes, hilos y suscripciones de webhook pertenecientes a la bandeja se eliminan inmediatamente. La dirección de email de la bandeja se libera y puede ser reasignada.
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
Límites de Envío
Cada bandeja de entrada tiene un dailySendLimit que limita cuántos emails puede enviar en una ventana de 24 horas. El campo sendsToday te dice cuántos envíos se han usado en la ventana actual.
Si una bandeja de entrada alcanza su límite, las solicitudes de envío posteriores devuelven un error 429 Too Many Requests. La ventana se reinicia a medianoche UTC.
Monitorea sendsToday antes de enviar ráfagas de alto volumen. Si tu agente necesita enviar más de lo que permite el límite predeterminado, contacta a soporte para solicitar un aumento para tu cuenta.
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`); }