Saltar al contenido
Docs · SDKs

SDKs multi-lenguaje.

Misma machine API en siete lenguajes: envío, batch, plantillas, dominios, webhooks y rates. Autenticación con API key Bearer (mlk_…).

  1. 01superficie común

    Qué cubren todos

    POST /v1/messages (con Idempotency-Key y opcional template_id), batch ≤100, dominios, webhooks, templates y GET /v1/rates. El tenant se resuelve en el servidor.

    sendbatchdomainswebhookstemplatesrates
  2. 02Go

    github.com/jaak-ai/mailack/sdk

    Cliente en el monorepo mailack (paquete sdk/). Ejemplo mínimo de envío:

    Go
    import mailack "github.com/jaak-ai/mailack/sdk"
    
    client := mailack.NewClient(os.Getenv("MAILACK_API_URL"),
        mailack.WithAPIKey(os.Getenv("MAILACK_API_KEY")))
    msg, replay, err := client.Send(ctx, "order-42", mailack.SendRequest{
        From: "noreply@acme.mx", To: "cliente@ejemplo.com",
        Subject: "Recibo", Text: "Gracias por su compra.",
    })
  3. 03Python

    pip install -e ./sdk/python

    Paquete mailack en sdk/python del repositorio.

    Python
    from mailack import Client
    
    client = Client(os.environ["MAILACK_API_URL"],
                    api_key=os.environ["MAILACK_API_KEY"])
    msg, replay = client.send(
        "order-42",
        from_="noreply@acme.mx",
        to="cliente@ejemplo.com",
        subject="Recibo",
        text="Gracias por su compra.",
    )
  4. 04JavaScript / Node

    ESM y TypeScript

    JavaScript ESM sin build (sdk/javascript) y cliente tipado Node/TS (sdk/nodejs).

    JavaScript
    import { Client } from "@mailack/sdk-js"; // o path al paquete ESM
    
    const client = new Client({
      baseUrl: process.env.MAILACK_API_URL,
      apiKey: process.env.MAILACK_API_KEY,
    });
    const { message, replay } = await client.send("order-42", {
      from: "noreply@acme.mx",
      to: "cliente@ejemplo.com",
      subject: "Recibo",
      text: "Gracias por su compra.",
    });
  5. 05Rust

    crate mailack

    Cliente async con reqwest (rustls). Path sdk/rust en el monorepo.

    Rust
    use mailack::{Client, SendRequest};
    
    let client = Client::new(&std::env::var("MAILACK_API_URL")?)
        .with_api_key(std::env::var("MAILACK_API_KEY")?);
    let (msg, replay) = client
        .send("order-42", &SendRequest {
            from: "noreply@acme.mx".into(),
            to: "cliente@ejemplo.com".into(),
            subject: Some("Recibo".into()),
            text: Some("Gracias.".into()),
            ..Default::default()
        })
        .await?;
  6. 06Java · C#

    JVM y .NET

    Java 17+ (com.mailack:mailack-sdk) y C# / .NET 8 (Mailack.Sdk) en sdk/java y sdk/csharp. Publicación a Maven Central / NuGet alineada a tags semver del repo.

    Javasdk/java · Maven local / monorepo
    C#sdk/csharp · .NET 8
  7. 07MCP

    Agentes de IA

    Además de los SDKs HTTP, mailack-mcp expone tools (envío, evidencia, dominios, webhooks, ops) sobre la misma API. Ver quickstart paso 06.

    No uses el cliente interno del servidor MCP en aplicaciones de producto; usa un SDK o la API REST.

Volver al índice

Quickstart, dominios, webhooks y portal en un solo lugar.