DESARROLLADORES
Conectá Aliantic con tu IA y con tus herramientas
Tu ecosistema de relaciones no tiene por qué vivir solo adentro de una app. Podés preguntarle a tu asistente quién necesita seguimiento, dejar que registre los contactos por vos, y avisarle a tus herramientas cuando pasa algo. Todo con tokens que creás y revocás vos.
Servidor MCP
MCP es el protocolo que usan los asistentes para conectarse a herramientas externas. Aliantic expone tu ecosistema como un servidor MCP: tu asistente lo consulta, y si le das permiso, también lo opera.
Endpoint: https://aliantic.ar/api/ai/mcp
Auth: Authorization: Bearer <tu-token>El token se crea en Configuración → Conectar con IA. En Claude: Configuración → Conectores → Agregar conector personalizado.
| Herramienta | Permiso |
|---|---|
ecosystem_summaryResumen de tu ecosistema: cuántas relaciones, cómo está su salud, qué alianzas tenés activas. | lectura |
list_relationshipsTus relaciones con salud, días sin contacto y fuerza del vínculo. Filtrable por las que necesitan atención. | lectura |
list_alliancesAlianzas activas con la contraparte y las tareas abiertas del plan compartido. | lectura |
next_actionsQué conviene hacer hoy, priorizado. | lectura |
log_contactRegistra que hablaste con alguien: actualiza el último contacto y suma la interacción. | escritura |
create_relationshipSuma una empresa o persona a tu ecosistema. La contraparte no necesita tener cuenta. | escritura |
set_pipeline_stageMueve una relación de etapa en el tablero. | escritura |
add_todoAgrega una tarea al pendiente del negocio. | escritura |
Los tokens son de solo lectura salvo que marques lo contrario al crearlos. Un token existente nunca gana permisos: si querés escritura, creás uno nuevo. No hay ninguna herramienta que borre datos.
API REST
Para herramientas que no hablan MCP: Zapier, Make, n8n o tu propio backend. Usa el mismo token que el MCP, con los mismos permisos y la misma revocación. Una llave menos que administrar.
El contrato completo está en openapi.json (OpenAPI 3.1): pegalo en Postman, Insomnia o un generador de clientes y tenés el SDK sin escribirlo. Describe solo lo que existe hoy: si una capacidad no figura ahí, no está.
# Listar tus relaciones (token de lectura alcanza)
curl https://aliantic.ar/api/v1/relationships \
-H "Authorization: Bearer $ALIANTIC_TOKEN"
# Sumar una relación (necesita token con escritura)
curl -X POST https://aliantic.ar/api/v1/relationships \
-H "Authorization: Bearer $ALIANTIC_TOKEN" \
-H "Content-Type: application/json" \
-d '{"name":"Distribuidora del Sur","type":"proveedor"}'
# Registrar que hablaste con alguien (por nombre o por id)
curl -X POST https://aliantic.ar/api/v1/contacts \
-H "Authorization: Bearer $ALIANTIC_TOKEN" \
-H "Content-Type: application/json" \
-d '{"name":"Distribuidora del Sur","note":"Reunión por el acuerdo"}'Crear una relación es idempotente por nombre: si ya existe, devuelve 409 con el id en vez de duplicarla: una automatización que reintenta no ensucia tu ecosistema. Si un nombre es ambiguo, también devuelve 409 con los ids, en vez de elegir una al azar.
Agent Skill
El MCP le dice a un agente qué puede hacer. El Agent Skill le enseña cuándo conviene hacerlo: que una relación en pausa no se empuja, que un resultado declarado por una sola parte no es lo mismo que uno confirmado por las dos, que la identidad a ciegas no es un dato faltante sino la mecánica. Está en el repo, en skills/aliantic/SKILL.md.
Es markdown: podés leerlo, copiarlo o adaptarlo. Si armás un agente sobre Aliantic, empezá por ahí y te ahorrás los errores que ya cometimos.
Webhooks
Aliantic intenta avisarle a tu sistema cuando algo pasa, así no tenés que ir a preguntar. Se registran en Configuración → Webhooks y sirven para enchufar Zapier, Make, n8n o tu propio backend.
match.mutual | Dos negocios se marcaron interés y se revela la identidad. |
outcome.confirmed | Las DOS partes confirmaron cómo salió la alianza. |
Verificar que el evento salió de Aliantic
Cada request trae la firma en X-Aliantic-Signature y el momento en X-Aliantic-Timestamp. La firma es un HMAC-SHA256 de timestamp.payload con el secret que te mostramos al crear el webhook. Rechazá timestamps de más de 5 minutos para impedir reenvíos viejos.
import { createHmac, timingSafeEqual } from "node:crypto";
function esDeAliantic(req, rawBody, secret) {
const ts = req.headers["x-aliantic-timestamp"];
const sig = req.headers["x-aliantic-signature"];
const edad = Math.abs(Date.now() - Number(ts));
if (!ts || !sig || !Number.isFinite(edad) || edad > 5 * 60_000) return false;
const mio = createHmac("sha256", secret).update(`${ts}.${rawBody}`).digest("hex");
const a = Buffer.from(mio), b = Buffer.from(sig);
// Comparar con === filtra información por el tiempo que tarda en fallar.
return a.length === b.length && timingSafeEqual(a, b);
}Esperamos un 2xx dentro de 5 segundos. Hoy cada evento se intenta una vez; si un endpoint acumula 10 fallos seguidos se desactiva y lo vas a ver en Configuración.
¿Falta algo que necesitás?
Esto crece según lo que pidan. Si te falta un evento, una herramienta o un endpoint, escribinos.
Contarnos qué necesitás