Saltar al contenido
Plataforma para developers · API v1

Integra correo en tu producto

Envía, recibe, consulta y automatiza actividad de buzones sin compartir sesiones del dashboard o Webmail con tu aplicación.

Una integración, una organización

Cada API key pertenece a una aplicación y una organización cliente. El tenant se deriva de la credencial y no puede seleccionarse mediante datos de la solicitud.

  • Owner crea aplicaciones, API keys y secretos de webhook
  • Admin consulta actividad y reintenta entregas fallidas
  • Los usuarios de buzón siguen autenticándose solo en Webmail

Ciclo completo de una integración

Crea una aplicación sandbox en Dashboard → Integraciones, emite una key con privilegios mínimos, llama a la API desde un servidor confiable, registra un webhook, completa su handshake de challenge y concilia las entregas con GET /v1/events. Para producción crea credenciales separadas; los secretos sandbox y production nunca son intercambiables.

  • Los prefijos identifican keys sandbox (mdk_test_) o production (mdk_live_)
  • La API key completa y el secreto whsec_ se revelan una sola vez cada uno
  • Cada request, evento, entrega y replay permanece aislado por tenant y auditado

Comienza con el SDK TypeScript

Indica la URL de la API explícitamente hasta definir el dominio de producción. Guarda las keys en secretos del servidor y nunca las envíes al navegador.

                        import { MailDeck, MailDeckError } from '@maildeck/sdk';

const maildeck = new MailDeck({
  apiKey: process.env.MAILDECK_API_KEY!,
  baseUrl: process.env.MAILDECK_API_URL!,
});

const { items } = await maildeck.mailboxes.list();
                      

Superficie del SDK y transporte

Omnero Mail recibe baseUrl explícita, API key y una implementación fetch opcional. El SDK ofrece mailboxes.list, domains.list, messages.list/retrieve/send/update, events.list y métodos de endpoints, entregas y replay de webhooks. Las respuestas no 2xx lanzan MailDeckError con status, code estable y requestId.

                        try {
  const page = await maildeck.messages.list({ mailboxId, limit: 50 });
  await maildeck.messages.update(page.items[0].id, {
    mailboxId,
    isRead: true,
  });
} catch (error) {
  if (error instanceof MailDeckError) {
    console.error(error.status, error.code, error.requestId);
  }
}
                      

REST y eventos conservan el mismo estado

Usa REST para comandos y conciliación. Usa webhooks firmados para notificación inmediata. Ambas superficies señalan los mismos mensajes y estados canónicos.

  • Contrato OpenAPI 3.1 en /openapi.yaml
  • Listados por cursor en /v1/messages y /v1/events
  • Webhooks al menos una vez con deduplicación por event ID

Ruta canónica de procesamiento

POST /v1/messages valida ownership y capacidad del plan, reserva la clave de idempotencia, escribe un job outbound y responde 202. Los workers construyen MIME, persisten el objeto enviado, lo entregan a SES y publican eventos canónicos. Los webhooks notifican; GET /v1/messages y GET /v1/events permiten conciliar después de una caída.

Mapa de recursos y endpoints

La superficie v1 expone descubrimiento de buzones y dominios, mensajes paginados por cursor, mutaciones de estado, carga y descarga de adjuntos, eventos canónicos, endpoints webhook, inspección de entregas y replay. Consulta OpenAPI 3.1 para schemas, status codes y el envelope estable de error.

  • GET /v1/mailboxes y /v1/domains descubren recursos del tenant
  • GET/POST /v1/messages y GET/PATCH /v1/messages/{messageId} operan correo
  • POST /v1/attachments y GET /v1/attachments/{attachmentId}/download transfieren adjuntos
  • GET /v1/events recupera el historial después de una caída
  • GET/POST /v1/webhook-endpoints y listado/replay operan webhooks
Contrato OpenAPI 3.1Fuente versionada de rutas y schemas.
Descargar YAML
¿Una API key puede acceder a otra organización?

No. La organización se deriva de la key. Los identificadores de tenant aportados por el consumidor se ignoran o rechazan.

¿Debo exponer una API key de Omnero Mail en el frontend?

No. Son credenciales server-to-server. Llama a Omnero Mail desde tu backend y expón al frontend únicamente los datos necesarios.

Siguiente paso

Crea el primer buzón sin coste.

Comenzar gratisIniciar sesión