Fidelizador 4 · Protocolos de operaciónOperating protocols

Tres caminos. El mismo destino. Three paths. The same destination.

En Fidelizador 4 eliges cómo operar la plataforma, entre tres vías: SMTP para no tocar código, API REST para integrarla en el tuyo, MCP para operarla conversando. Elijas la que elijas, el correo entra por la misma cola y aparece en los mismos reportes. In Fidelizador 4 you pick how to operate the platform, out of three ways: SMTP so you don't touch code, a REST API to build it into yours, MCP to run it by talking. Whichever you pick, the email enters the same queue and shows up in the same reports.

Comparar los tresCompare all three Hablar con ventas →Talk to sales →
Disponible desde octubre 2026Available from October 2026
01 · SMTP01 · SMTP

Cuando no quieres escribir código.When you'd rather not write code.

Host, puerto y credencial. Cualquier aplicación, ERP o sistema heredado que ya sepa hablar SMTP apunta al relay y empieza a enviar — sin librerías, sin migración, sin tocar el código que ya funciona.Host, port and credential. Any application, ERP or legacy system that already speaks SMTP points at the relay and starts sending — no libraries, no migration, no touching code that already works.

  • Conexión cifrada obligatoria: TLS con STARTTLSEncryption required: TLS over STARTTLS
  • Credenciales SMTP propias, revocables por separadoDedicated SMTP credentials, revocable one by one
  • Los mismos reportes y la misma trazabilidad por mensaje que la APIThe same reports and per-message traceability as the API
smtp
host     smtp.fidelizador.com
port     587
security STARTTLS
user     tu credencial SMTPyour SMTP credential
02 · API REST02 · REST API

Cuando la plataforma vive dentro de tu producto.When the platform lives inside your product.

No es solo un endpoint de envío: por la API administras todo lo que hoy haces a mano en el panel. Despachas, consultas el estado de cada mensaje y gestionas remitentes, dominios, plantillas y formularios, todo bajo /v1.It's not just a send endpoint: the API runs everything you do by hand in the dashboard today. You dispatch, check each message's status and manage senders, domains, templates and forms, all under /v1.

/v1/mails /v1/activities /v1/senders /v1/domains /v1/mail-templates /v1/forms /v1/fields /v1/consent-rules
  • API key con scopes: cada integración recibe solo los permisos que necesita, y se revoca sola sin tocar las demásAPI keys with scopes: each integration gets only the permissions it needs, and is revoked on its own without touching the others
  • O JWT de usuario, cuando quien opera es una persona y no un servicioOr a user JWT, when the one operating is a person and not a service
  • Si superas los límites de tasa recibes un 429 con la cabecera Retry-After, que te dice cuántos segundos esperarGo over the rate limits and you get a 429 with a Retry-After header telling you how many seconds to wait
  • Documentada con OpenAPI 3, así que tus herramientas pueden generar el cliente solasDocumented with OpenAPI 3, so your tooling can generate the client on its own
  • Webhooks firmados con HMAC, para que tu sistema verifique que el aviso vino de nosotrosWebhooks signed with HMAC, so your system can verify the notice came from us
send_mail.py
# Enviar un emailSend an email — POST /v1/mails/send
import os, requests

API_KEY  = os.environ["API_KEY"]          # scope: mail:send
BASE_URL = "https://cl2api.fidelizador.com"

resp = requests.post(
    f"{BASE_URL}/v1/mails/send",
    headers={
        "Authorization": f"Bearer {API_KEY}",
        "X-Instance-Slug": "mi-empresa",
        "Content-Type": "application/json",
    },
    json={
        "sender_email": "[email protected]",
        "to": [{"email": "[email protected]", "name": "Ana"}],
        "subject": "Confirmación de pedido",
        "html": "<p>Tu pedido va en camino.</p>",
    },
    timeout=10,
)
if not resp.ok:
    problem = resp.json()          # application/problem+json
    raise RuntimeError(f"{problem['status']} {problem['code']}: {problem['detail']}")
print(resp.json()["message_id"])
// Enviar un emailSend an email — POST /v1/mails/send
const API_KEY  = process.env.API_KEY;        // scope: mail:send
const BASE_URL = "https://cl2api.fidelizador.com";

const resp = await fetch(`${BASE_URL}/v1/mails/send`, {
  method: "POST",
  headers: {
    "Authorization": `Bearer ${API_KEY}`,
    "X-Instance-Slug": "mi-empresa",
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    sender_email: "[email protected]",
    to: [{ email: "[email protected]", name: "Ana" }],
    subject: "Confirmación de pedido",
    html: "<p>Tu pedido va en camino.</p>",
  }),
});
if (!resp.ok) throw new Error(`${resp.status} ${await resp.text()}`);
const { message_id } = await resp.json();
console.log(message_id);
<?php
// Enviar un emailSend an email — POST /v1/mails/send
$apiKey  = getenv("API_KEY");           // scope: mail:send
$baseUrl = "https://cl2api.fidelizador.com";

$payload = json_encode([
    "sender_email" => "[email protected]",
    "to"           => [["email" => "[email protected]", "name" => "Ana"]],
    "subject"      => "Confirmación de pedido",
    "html"         => "<p>Tu pedido va en camino.</p>",
]);

$ch = curl_init("$baseUrl/v1/mails/send");
curl_setopt_array($ch, [
    CURLOPT_POST           => true,
    CURLOPT_POSTFIELDS     => $payload,
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER     => [
        "Authorization: Bearer $apiKey",
        "X-Instance-Slug: mi-empresa",
        "Content-Type: application/json",
    ],
]);
$response = curl_exec($ch);
$status   = curl_getinfo($ch, CURLINFO_RESPONSE_CODE);
curl_close($ch);

$data = json_decode($response, true);

if ($status >= 400) {
    throw new RuntimeException("{$data['code']}: {$data['detail']}");
}

echo $data["message_id"];
# Enviar un emailSend an email — POST /v1/mails/send
curl -X POST https://cl2api.fidelizador.com/v1/mails/send \
  -H "Authorization: Bearer $API_KEY" \
  -H "X-Instance-Slug: mi-empresa" \
  -H "Content-Type: application/json" \
  -d '{
    "sender_email": "[email protected]",
    "to": [{"email": "[email protected]", "name": "Ana"}],
    "subject": "Confirmación de pedido",
    "html": "<p>Tu pedido va en camino.</p>"
  }'
200 OK540 msmessage_id: 019eb847-cd14…
03 · MCP03 · MCP

La misma plataforma, operable conversando.The same platform, operable by talking.

Un servidor Model Context Protocol expone 34 herramientas al agente de IA que ya usas — Claude, Copilot Studio, Codex, ChatGPT o cualquier cliente compatible. Tú apruebas, el agente opera, y todo queda en la misma interfaz de siempre.A Model Context Protocol server exposes 34 tools to the AI agent you already use — Claude, Copilot Studio, Codex, ChatGPT or any compatible client. You approve, the agent operates, and everything lands in the same interface as always.

Ver el detalle de MCP →See the MCP detail →
mcp
endpoint  https://mcp.fidelizador.com/mcp
transport HTTP (streamable)
auth      OAuth 2.0
tools     34

Un motor. Tres interfaces.One engine. Three interfaces.

SMTP API REST MCP
Ideal paraBest forApps y sistemas existentesExisting apps & systemsIntegraciones a medidaCustom integrationsAgentes IAAI agents
Cómo se conectaHow you connectHost, puerto y credencialesHost, port and credentialsHTTP + JSONHTTP + JSONMCP sobre HTTP (streamable)MCP over HTTP (streamable)
Sin escribir códigoNo code to write
Despacho de mensajesMessage dispatch
Administración de la plataformaPlatform administration
AutenticaciónAuthenticationUsuario y contraseña, sobre TLSUsername and password, over TLSAPI key por integraciónOne API key per integrationOAuth 2.0 (PKCE), con la cuenta de cada personaOAuth 2.0 (PKCE), with each person’s own account
Trazabilidad por mensajePer-message traceability
Especificación OpenAPI 3OpenAPI 3 specification
Confirmación antes de un envío masivoConfirmation before a mass send
Antes de producciónBefore production

Prueba cualquiera de los tres sin tocar destinatarios reales.Test any of the three without touching real recipients.

El sandbox usa la misma credencial y el mismo camino que elijas. Cambia solo el destinatario, y el resultado lo defines tú.The sandbox uses the same credential and whichever path you pick. Only the recipient changes, and you define the outcome.

Ver Sandbox y simulaciones →See Sandbox & simulations →

¿Cuál te conviene?Which one fits you?

Cuéntanos qué tienes hoy y te decimos por dónde conviene entrar. Puedes usar los tres a la vez.Tell us what you have today and we'll tell you where to start. You can use all three at once.

Hablar con ventasTalk to sales