Tu primera llamada
Comprueba tu API key por REST o MCP y lee las compras de SUNAT de una empresa peruana conectada a Emisso.
Una API key nueva lee solo las conexiones que marcaste al crearla. Por eso la primera llamada pide esa
lista: si responde con tus empresas, la clave funciona, y de ahí sale el connectionId que usan las
demás herramientas. Después lees las compras de un mes de SUNAT con esa misma clave.
Antes de empezar
- Una cuenta en connect.emisso.ai con tu organización de Perú.
- SUNAT conectado. Si todavía no lo conectas, sigue Conecta SUNAT y vuelve aquí.
- Una API key: créala en connect.emisso.ai/api-keys, marca la
conexión de SUNAT y copia el secreto
connect_sk_…. Se muestra una sola vez. Guárdalo en la variable de entornoEMISSO_CONNECT_API_KEY(por ejemplo, en tu.env), no en el código ni en un chat.
1. Pide la lista de tus conexiones
El cuerpo siempre es JSON con los argumentos dentro de input. Esta herramienta no necesita
argumentos, así que input va vacío:
curl -X POST https://connect.emisso.ai/api/v1/tools/conexiones.estado.consultar/execute \
-H "Authorization: Bearer $EMISSO_CONNECT_API_KEY" \
-H "Content-Type: application/json" \
-d '{"input": {}}'Salida esperada (200), recortada a los campos que importan en esta prueba:
{
"data": {
"conexiones": [
{
"id": "conn_9tKfR2mQx4Vb",
"sistema": "sunat_beta",
"nombre": "SUNAT",
"estado": "active",
"datosListos": true,
"herramientas": [
"sunat_beta.periodos.consultar",
"sunat_beta.compras.consultar",
"sunat_beta.ventas.consultar"
]
}
]
},
"meta": {
"request_id": "req_8fk2mQpw31Zx",
"tool_id": "conexiones.estado.consultar",
"plane": "action",
"latency_ms": 24,
"audit_status": "recorded"
}
}ides elconnectionIdde esa empresa. Toda herramienta de SUNAT o de un banco lo pide, incluso si tienes una sola conexión; por REST viaja en la cabeceraX-Connect-Connection.datosListosresponde «¿ya puedo leer?». Mientras la primera sincronización está en cola llega enfalse.herramientasson los ids que ya puedes usar sobre esa conexión.
Si la lista llega vacía, la clave no alcanza ninguna conexión: revísala en API keys.
2. Lee las compras de un mes
Con el id de la conexión de SUNAT, pide las compras de septiembre de 2026:
curl -X POST https://connect.emisso.ai/api/v1/tools/sunat_beta.compras.consultar/execute \
-H "Authorization: Bearer $EMISSO_CONNECT_API_KEY" \
-H "X-Connect-Connection: conn_9tKfR2mQx4Vb" \
-H "Content-Type: application/json" \
-d '{"input":{"periodo":"2026-09","limite":100}}'Salida esperada (200), recortada a los campos principales de un comprobante:
{
"data": {
"documentos": [
{
"origen": "propuesta",
"libro": "rce",
"periodo": "2026-09",
"tipoComprobante": "01",
"serie": "F001",
"numero": "00000123",
"fechaEmision": "2026-09-03",
"monedaOriginal": "PEN",
"total": "1180"
}
],
"cursor": null,
"sincronizacion": {
"sincronizadoEn": "2026-10-30T21:00:00.000Z",
"completo": true,
"cantidad": 1
}
},
"meta": {
"request_id": "req_…",
"tool_id": "sunat_beta.compras.consultar",
"plane": "action",
"latency_ms": 31,
"audit_status": "recorded"
}
}La consulta lee lo que Emisso ya guardó y no llama a SUNAT. Si sincronizacion llega en null, todavía
no hay una lectura guardada de ese mes: no significa cero documentos. Los campos completos y cómo leer
cada uno están en SUNAT.
Por MCP, tu agente ejecuta la misma herramienta con execute:
{
"tool": "sunat_beta.compras.consultar",
"params": { "periodo": "2026-09", "limite": 100 },
"connectionId": "conn_9tKfR2mQx4Vb"
}3. Comprueba la bitácora
Abre connect.emisso.ai/bitacora. Deberías ver una fila por cada llamada, con tu API key como actor. Cada llamada que hagas desde hoy, tuya o de tu agente, deja exactamente una fila como esta.
Próximos pasos
- SUNAT: compras, ventas y períodos del SIRE, y cómo leer cada campo.
- BBVA Perú: cuentas, saldos, movimientos y cartolas.
- Con tu asistente de IA: el texto para que ChatGPT, Claude o Cursor arme tu software sobre Emisso.