Desarrolladores

Emisso Connect para desarrolladores.

Un endpoint entre tus agentes, o tu software, y los sistemas chilenos: el SII, los bancos de empresa, Previred, la Tesorería, Mercado Público, la emisión de documentos tributarios y los indicadores del Banco Central. Por MCP o por la API REST, sin nada que instalar.

El producto se ejecuta en connect.emisso.ai, y ahí viven la documentación, el contrato y las API keys. Esta página es el índice: qué hay, dónde está y cómo se llama.

Recursos máquina-legibles

Todas estas URLs responden hoy. Si vas a apuntar un agente o un script a Emisso, parte por el contrato OpenAPI o por el llms.txt.

RecursoQué es
Documentaciónhttps://connect.emisso.ai/docsGuías, conceptos y la referencia de cada tool del catálogo.
Contrato OpenAPIhttps://connect.emisso.ai/docs/openapi.jsonOpenAPI 3.1 con el JSON-Schema de entrada y de salida de cada tool.
Referencia de la APIhttps://connect.emisso.ai/docs/apiLos endpoints REST del gateway, con sus cabeceras y sus códigos.
Servidor MCPhttps://connect.emisso.ai/mcpRemoto, sobre Streamable HTTP y por POST. Sin token responde 401: es un recurso protegido, no una ruta caída.
Metadata de OAuthhttps://connect.emisso.ai/.well-known/oauth-authorization-serverEl authorization server, con registro dinámico de clientes y PKCE S256.
Índice para agenteshttps://connect.emisso.ai/llms.txtEl llms.txt de Connect, con el mapa de toda su documentación.
Catálogo de sistemashttps://connect.emisso.ai/docs/sistemasQué sistemas hay conectados y qué expone cada uno.
Consultar con la APIhttps://connect.emisso.ai/docs/como-consultar/apiLa guía para llamar el REST desde código, sin paquete que instalar: un programa en Node con fetch y la misma llamada con curl.
Catálogo de erroreshttps://connect.emisso.ai/docs/referencia/erroresCada código, su status y su suggested_fix.
Lectura pública sin cuentahttps://connect.emisso.ai/public/v1/indicadores/ufEl valor de la UF de hoy en JSON, sin autenticación.
Índice de este sitiohttps://www.emisso.ai/llms.txtEl llms.txt de emisso.ai, con el mapa del sitio y cuándo usar cada cosa.

Las dos formas de llamar

Las dos corren sobre los mismos scopes, el mismo aislamiento por organización y la misma bitácora. Cambia quién escribe la llamada, no lo que pasa detrás.

MCP

Servidor MCP remoto sobre Streamable HTTP. Anuncia solo estas herramientas, que no cambian nunca: search_docs para descubrir qué existe, execute para las herramientas de solo lectura y execute_write para las que escriben. La ficha de cada tool del catálogo indica su puerta, la de lectura o la de escritura. El catálogo completo viaja detrás de ellas, así que el contexto del agente no se llena con cientos de definiciones.

claude mcp add --transport http emisso https://connect.emisso.ai/mcp

REST, con curl

Un POST por tool, con tu clave de API en Authorization y los argumentos dentro de input. Dos cabeceras no son opcionales. Content-Type: sin ella el gateway responde 415. Y X-Connect-Connection en todo sistema conectable: la conexión es la empresa, y no hay elección implícita ni cuando hay una sola.

curl https://connect.emisso.ai/api/v1/tools/sii.rcv.consultar/execute \
  -H "Authorization: Bearer $EMISSO_CONNECT_API_KEY" \
  -H "X-Connect-Connection: $EMISSO_CONNECTION_ID" \
  -H "Content-Type: application/json" \
  -d '{ "input": { "periodo": "2026-07", "perspectiva": "compras" } }'

REST, desde tu código

No hay paquete que instalar: es HTTP y sirve desde cualquier lenguaje, con fetch en JavaScript o requests en Python. La misma llamada en Node 22 o más nuevo, que ya trae fetch. La respuesta trae los datos en data o el problema en error.

const res = await fetch(
  "https://connect.emisso.ai/api/v1/tools/sii.rcv.consultar/execute",
  {
    method: "POST",
    headers: {
      Authorization: `Bearer ${process.env.EMISSO_CONNECT_API_KEY}`,
      "X-Connect-Connection": process.env.EMISSO_CONNECTION_ID,
      "Content-Type": "application/json",
    },
    body: JSON.stringify({
      input: { periodo: "2026-07", perspectiva: "compras" },
    }),
  },
);

const { data, error } = await res.json();
if (error) throw new Error(`${error.code}: ${error.message}`);
// sincronizacion en null: ese mes no está cargado, no es un mes sin compras.
if (data.sincronizacion === null) {
  throw new Error("Ese mes todavía no está sincronizado en Connect.");
}
console.log(data.documentos);

La guía Consultar con la API tiene el programa completo, con la paginación y los errores.

Qué puede hacer un agente

  • Calcular el IVA del mes con el Registro de Compras y Ventas del SII y revisar los F29 ya presentados. Connect entrega los datos; la declaración se presenta en el SII.
  • Emitir una factura, una boleta, una guía de despacho, una nota de crédito o una nota de débito con folio y timbre real.
  • Revisar boletas electrónicas, guías de despacho o boletas de honorarios, y el XML firmado de cualquiera de esos documentos.
  • Consultar saldo y movimientos de una cuenta corriente de empresa en BancoEstado Empresas, Banco de Chile Empresas, Santander Empresas, BCI PyME, BCI 360, Banco Security Empresas, BICE Empresas o Itaú Empresas.
  • Ver cotizaciones previsionales en Previred: qué planillas se pagaron, cuánto cotizó cada trabajador y si hay deuda.
  • Revisar los convenios de pago de una empresa con la Tesorería: cuotas pagadas y por pagar, y deudas acogidas.
  • Bajar las bases y los anexos de una licitación de Mercado Público por su código.
  • Convertir montos con la UF, el dólar, el euro, el IPC o la UTM de una fecha.
  • Conectar los sistemas de un tercero sin que su clave pase por tu aplicación: Connect emite un enlace de un solo uso para que la entregue esa persona.

Lo que no hace, que suele importar tanto como lo anterior: no hay conectores fuera de Chile ni de banca de personas, y ningún conector mueve plata. No transfiere fondos, no paga cotizaciones y no carga una nómina. Lo único que Connect escribe en un sistema externo es la emisión de documentos tributarios.

Leer un dato son dos pasos: <sistema>.conexion.sincronizar hace el login real y guarda, y <recurso>.consultar lee lo ya guardado. Una tool .consultar nunca pregunta en vivo.

Empezar