API del CFO para socios ERP

Los ERP y POS chilenos certificados pueden integrar a sus clientes con Fernanda, el asesor financiero virtual de Nankú, mediante esta API. Envían ventas, compras y DTE de sus comercios, y reciben análisis diario, proyección real de IVA, alertas de flujo de caja y sugerencias de reorden — todo listo para mostrar en la interfaz del ERP o entregar al comercio por WhatsApp.

17
Endpoints
3
Factores de auth
7 años
Auditoría
99,9%
Uptime objetivo

Introducción Borrador

Nankú desarrolló Fernanda, un CFO virtual que analiza los datos de comercios chilenos y entrega inteligencia financiera diaria en lenguaje simple. Esta API permite que otros ERP y POS incorporen a Fernanda como parte de su plataforma, ofreciéndola a sus propios clientes.

La API está pensada para plataformas certificadas: cada socio firma un acuerdo de tratamiento de datos con Nankú, recibe llaves de acceso propias y opera bajo un modelo de aislamiento estricto entre comercios. Un socio nunca ve datos de otro; un comercio de un socio nunca aparece en otro socio.

Esta documentación describe el diseño, la autenticación, los principales endpoints y las obligaciones legales asociadas. El objetivo es que un equipo técnico senior pueda evaluarla antes de firmar el acuerdo comercial.

Quién es Fernanda

Fernanda es el personaje que sus comercios reconocerán. Su motor de razonamiento carga los marcos técnicos completos — DL 825 (IVA), DL 824 (Renta), F29, postergación de IVA para MYPE (Art. 64), NIA/NAGA, punto de equilibrio, capital de trabajo, DuPont, ABC/XYZ, benchmarks por rubro chileno — pero traduce todo a lenguaje simple para el comerciante.

Perfil profesional

Fernanda

Ingeniera en Administración de Empresas · Contadora Auditora · Ingeniera Comercial (especialista en comercios chilenos).

Regla férrea: nunca presume títulos. Su autoridad se nota en la calidad del consejo, no en el currículum. Trata al cliente de usted, firma con — Fernanda, tono chileno cercano pero profesional.

"En 3 días vence su F29 (declaración mensual del IVA). Tiene que pagar $187.400. Le sugiero conversar con su contador sobre postergar el IVA — como MYPE puede aplazarlo hasta 60 días (Art. 64 de la Ley del IVA). Le da aire con el flujo de caja." — Fernanda, su asesora financiera · 08:04 hrs

Lo que Fernanda hace por los clientes de su ERP

Esto es lo que su plataforma le puede ofrecer a cada comercio suscrito al módulo CFO. No son "funciones" de un chatbot genérico — son las tareas que un CFO real hace en una compañía, adaptadas a la escala de un comercio chileno. Ordenadas por el perfil profesional de Fernanda que las ejecuta.

Como Contadora Auditora — el pulso tributario y contable

Fernanda vigila el frente SII y contable de cada comercio. Cruza datos del POS contra los DTE emitidos, monitorea vencimientos, arma pre-balance del ejercicio en curso y detecta anomalías antes de que sean multas.

FunciónQué haceEstado
Estimación de IVA en tiempo realLos días 10, 20 y cierre de mes calcula IVA débito, crédito y a pagar según el Registro de Compra y Venta. Con DTE integrado (endpoint /documents/dte) el número es real, no estimado.Disponible
Alertas pre-F29Recuerda 3 y 5 días antes del vencimiento, adelanta el monto probable y sugiere postergar si el comerciante califica como MYPE (Art. 64 DL 825, hasta 60 días sin multa).Disponible
Conciliación bancaria diariaCruza las ventas del POS contra los depósitos en la cuenta corriente del comercio. Detecta pagos que no llegaron, cobros duplicados y liquidaciones de tarjeta atrasadas. Requiere conexión a la banca (Belvo o equivalente).Fase 2
Monitoreo del SIIRevisa la situación tributaria del contribuyente: folios sin usar, F29 pendientes, DTE recibidos sin aceptar, cambios de régimen. Con Apigateway.cl integrado, la información se actualiza cada 24h.Fase 2
Pre-balance del año fiscal en cursoEn cualquier momento del año le muestra al comerciante: ingresos acumulados, gastos aceptados, utilidad estimada, y proyección de renta AT año siguiente (14 D N°8 para ProPyme). Sin sorpresas en abril.Fase 2
Cruce ventas ↔ DTEVerifica que toda venta registrada tenga su DTE emitido, y que todo DTE tenga su venta. Cualquier descuadre se reporta como alerta contable.Disponible
Detección de anomalías y fraudeVentas fuera de rango, boletas fuera de horario, folios saltados, IVA descuadrado, tickets promedio anormales. Todas señales clásicas de auditoría — Fernanda las detecta y pregunta.Disponible

Como Ingeniera en Administración — la salud financiera

Fernanda vigila la salud del negocio como un CFO de compañía grande: flujo de caja, capital de trabajo, meta mensual, ratios. No solo mira "cuánto se vendió"; mira si al comerciante le está alcanzando la caja.

FunciónQué haceEstado
Flujo de caja proyectado 30 díasSuma ventas esperadas (por promedio histórico), resta IVA a pagar, pedidos a proveedores pendientes y gastos fijos. Anticipa apretones antes de que ocurran.Disponible
Punto de equilibrio actualizadoCuánto tiene que vender el comerciante al día para no perder plata, considerando arriendo, sueldos y cuentas fijas. Se recalcula automático al cambiar los costos.Disponible
Meta mensual y avanceFernanda propone la meta o la fija el comerciante. Cada mañana informa avance, faltante y ritmo diario necesario para llegar. Si va atrasado, sugiere dónde acelerar.Disponible
Ratios financieros claveLiquidez, ácida, endeudamiento, ROA/ROE/ROI, ciclo de caja, capital de trabajo neto (CTNO). Todos traducidos a lenguaje simple; nunca "ROE" sin decir qué significa.Disponible
Semáforo de salud del negocioUn solo indicador (verde / ámbar / rojo) que combina caja, endeudamiento, margen y rotación. Alimenta directo un widget del dashboard del ERP.Disponible
Consejos accionablesNo solo el número — la recomendación concreta: "sube $200 al producto X, el margen queda 15 % arriba y las ventas casi no se resienten en tu rubro".Disponible

Como Ingeniera Comercial — el comercio chileno

Fernanda conoce el comercio local: sabe que en septiembre suben las bebidas y las carnes, sabe que las quincenas concentran ventas, sabe que un almacén de barrio rota distinto a una ferretería. Con benchmarks por rubro chileno cargados.

FunciónQué haceEstado
Análisis ABC de productosClasificación 80/20: productos A (80 % del ingreso), B (15 %), C (5 %). Prioriza dónde poner el foco y qué proteger contra quiebre de stock.Disponible
Margen real por producto vs. benchmark de rubroCompara el margen real de cada producto contra el rango esperado del rubro (almacén 22–28 %, botillería 25–32 %, ferretería 18–25 %, panadería 30–40 %). Alerta lo que está bajo.Disponible
Rotación y productos muertosDías de stock por producto. Los que llevan 30, 60 o 90 días sin moverse (capital estancado) se identifican con sugerencia: liquidar, cambiar precio, quitar del catálogo.Disponible
Reorden automático a proveedoresCuando el stock cae bajo el mínimo, arma la orden de compra agrupada por proveedor con cantidades según rotación real. Aprobación con un click; se envía por correo al proveedor.Disponible
Alertas de estacionalidadAdelanta fechas del año que impactan el rubro — quincenas, 18 sept, verano, escolar — con recomendaciones concretas de inventario y precio.Disponible
Detección de caídas de ventaCompara cada día contra el promedio de los últimos 4 mismos-días-de-semana. Si baja > 30 %, no es azar — Fernanda pregunta y sugiere causas típicas (feriado local, competencia, precios).Disponible
Concentración de proveedoresDetecta cuando un proveedor concentra más del 40 % de las compras — riesgo de dependencia — y sugiere diversificar.Disponible

Canal principal: WhatsApp

Fernanda le habla al comerciante por WhatsApp — el canal que ya tiene abierto todo el día. No una app nueva, no un panel más que revisar. Esto es lo que su ERP debe entender del funcionamiento del canal, aunque el mensaje lo entregue Nankú:

Iniciativas espontáneas de Fernanda
  • Reporte diario 08:00 hrs · lunes a sábado, mensaje resumido con ventas de ayer, avance de meta, alertas activas y consejos. Priorizado (no muestra todo siempre — solo lo que importa ese día).
  • Alertas por evento · caída de ventas, IVA próximo a vencer, quiebre de stock, margen bajo, anomalía tributaria — Fernanda escribe apenas lo detecta, sin esperar al día siguiente.
  • Recomendaciones pre-fecha · avisos 3–7 días antes de F29, quincena, Fiestas Patrias, cambio de temporada.
Consultas libres del comerciante
  • El comerciante puede escribirle en cualquier momento y Fernanda responde con datos reales — los suyos.
  • Ejemplos típicos: "¿cuánto llevo esta semana?", "¿me alcanza para pagar al proveedor el viernes?", "¿qué producto me está dejando menos margen?"
  • Respuestas en < 60 segundos, con citas a los datos usados y nivel de confianza.
📱

Para su ERP: el WhatsApp lo gestiona Nankú (con número corporativo y plantillas aprobadas por Meta). Su plataforma no necesita integrar la Cloud API de WhatsApp; opcionalmente puede replicar los mismos mensajes en su interfaz suscribiéndose al webhook cfo.report.generated y renderizando el message_markdown como un widget.

Flujo de integración

1Firma del acuerdoDPA entre su plataforma y Nankú
2Llaves sandboxEmitidas el mismo día del acuerdo
3OnboardingSu ERP registra un comercio como organization
4Ingesta continuaVentas y DTE se envían en tiempo real
5Consumo del CFOEl ERP consulta reportes o recibe webhooks
💡

Nada llega a Fernanda sin consentimiento del comerciante. Antes de la primera ingesta, el ERP debe mostrar la pantalla de autorización y registrar el consentimiento vía POST /consents. Si el comerciante lo revoca, la ingesta se detiene en menos de 60 segundos.

Autenticación Doble factor

La API usa un esquema de dos factores para tráfico servidor a servidor:

  • Llave Bearer — identifica al socio (nk_live_sk_... en producción o nk_test_sk_... en sandbox).
  • Firma HMAC-SHA256 del cuerpo — prueba que el mensaje no fue alterado y lo ancla a un timestamp. Obligatoria en endpoints sensibles (/organizations, /consents, /webhooks).
  • Lista de IPs autorizadas — opcional pero recomendada. Cada llave se puede fijar a un conjunto de CIDRs.
Encabezados de una petición firmada
Authorization: Bearer nk_live_sk_...
Content-Type: application/json
Idempotency-Key: onboard-comercio-9821
X-Nanku-Signature: t=1758196804,v1=YWJjZGVmZ2hpams=
Cómo se calcula la firma (Node.js)
// canonical = timestamp + "\n" + cuerpo_json
import { createHmac } from 'node:crypto';

function firmar(secret, cuerpo) {
  const ts = Math.floor(Date.now() / 1000).toString();
  const mac = createHmac('sha256', secret)
    .update(`${ts}\n${cuerpo}`)
    .digest('base64');
  return `t=${ts},v1=${mac}`;
}
⚠️

La firma tiene una ventana de ±300 segundos. Fuera de ese rango se rechaza con 401 signature_stale. Prevención de replay.

Alta de un comercio

Cada cliente del ERP que active a Fernanda debe existir como organization en Nankú. El endpoint es idempotente sobre external_id: reintentos con el mismo cuerpo devuelven la misma respuesta, no un error.

Petición · POST /v1/organizations
{
  "external_id": "opentpv-cust-9821",
  "legal_name": "Almacén Don Pancho SPA",
  "rut": "76.543.210-K",
  "trade_name": "Don Pancho",
  "industry": "almacen_barrio",
  "commune": "Concepción",
  "region": "Biobío",
  "primary_currency": "CLP",
  "contact": {
    "name": "Francisca Rojas",
    "email": "francisca@donpancho.cl",
    "whatsapp": "+56912345678"
  },
  "consent": {
    "given_at": "2026-09-15T13:55:00Z",
    "given_by": "francisca@donpancho.cl",
    "policy_version": "2026-09-15",
    "ip": "190.101.22.14",
    "user_agent": "OpenTPV/4.2"
  }
}
Respuesta · 201 Created
{
  "organization_id": "org_01HXY9Z...",
  "external_id": "opentpv-cust-9821",
  "status": "active",
  "consent_id": "cns_01HXY9Z...",
  "created_at": "2026-09-15T13:55:12Z"
}
📋

Consentimiento: la pantalla que el comerciante autoriza debe contener el texto legal que Nankú publica en cada versión de política, identificado por policy_version. Si la versión enviada no coincide con la actual, el alta se rechaza con 422.

Envío de ventas

Cada venta se envía apenas se cierra en el POS. Nankú deduplica por (organization_id, external_id): reenviar la misma venta no la duplica ni devuelve error. Para cargas masivas está la variante /sales:bulk con hasta 500 ventas por llamada.

POST /v1/sales
{
  "organization_id": "org_01HXY9Z...",
  "external_id": "A0000123",
  "occurred_at": "2026-09-15T13:12:04-04:00",
  "currency": "CLP",
  "channel": "pos",
  "payment_method": "card_credit",
  "totals": {
    "gross": 12490,
    "net": 10496,
    "tax": 1994,
    "tax_rate": 0.19
  },
  "items": [
    { "sku": "BEB-COCA-15", "quantity": 1, "unit_price": 2490 },
    { "sku": "GAL-TRIT-155", "quantity": 4, "unit_price": 2500 }
  ],
  "dte": { "type": 39, "folio": 12034 }
}
Respuesta · 201 Accepted
{
  "sale_id": "sal_01HXY9Z...",
  "external_id": "A0000123",
  "accepted_at": "2026-09-15T13:12:06Z",
  "processing": "async"
}

Reglas de validación:

  • totals.gross = net + tax (± 1 CLP)
  • Σ items[].line_total = totals.gross
  • occurred_at entre hoy − 400 días y hoy + 24h

Envío de DTE Clave para IVA real

Como su plataforma es emisor DTE autorizado por el SII, este endpoint es el que hace que las cifras de IVA de Fernanda sean reales, no estimadas. Cada folio emitido se envía aquí; Fernanda lo cruza contra las ventas del período.

POST /v1/documents/dte
{
  "organization_id": "org_01HXY9Z...",
  "type": 39, // boleta electrónica
  "folio": 12034,
  "emitted_at": "2026-09-15T13:12:05-04:00",
  "emitter_rut": "76.543.210-K",
  "receiver_rut": "66.666.666-6",
  "totals": {
    "gross": 12490, "net": 10496, "tax": 1994
  },
  "xml_url": "https://opentpv.cl/dte/12034?firmado=1"
}
Tipos DTE soportados
TipoDocumento
33Factura electrónica afecta
34Factura electrónica exenta
39Boleta electrónica
41Boleta exenta
52Guía de despacho
56Nota de débito
61Nota de crédito

El campo xml_url es opcional. Si lo entregan, Nankú descarga el XML firmado y lo archiva encriptado por 7 años (obligación tributaria chilena). El fetch usa el mismo Bearer del socio y tiene un timeout de 5 segundos con 1 reintento — si falla, la metadata igual se ingesta.

Consultar al CFO

El comerciante (o su ERP en nombre de él) puede hacerle preguntas libres a Fernanda. Las respuestas están ancladas en los datos reales del comercio: ventas, compras, DTE, inventario. No hay filtración cruzada entre clientes — el módulo de recuperación solo expone filas del organization_id indicado.

POST /v1/cfo/ask
{
  "organization_id": "org_01HXY9Z...",
  "question": "¿Qué producto me está
      dejando menos margen este mes?",
  "context": { "verbosity": "medium" }
}
Respuesta · 200 OK
{
  "answer": "El shampoo Sedal 400 ml le está
    dejando 6 % de margen — muy por debajo
    del promedio de su categoría (22 %).
    Revise el precio de compra o súbalo
    $200 a $2.690. — Fernanda",
  "citations": [
    { "kind": "sales_period", "count": 214 }
  ],
  "confidence": "high",
  "billed_units": 1
}

Defensa contra prompt injection: la pregunta se acota en tamaño (máx. 512 caracteres), se cita en el prompt del sistema y no puede escapar al canal de instrucciones. Aunque el modelo fuese engañado, la capa de datos solo expone filas del organization_id autenticado, así que la fuga entre inquilinos no es alcanzable.

Reporte diario del CFO

El mismo reporte que Fernanda envía al comerciante por WhatsApp cada mañana. Idempotente por (organization_id, for_date) — se puede llamar varias veces y devuelve el mismo report_id.

POST /v1/cfo/report
{
  "organization_id": "org_01HXY9Z...",
  "for_date": "2026-09-15",
  "format": "markdown_plus_kpis",
  "locale": "es-CL"
}
Respuesta · 200 OK (extracto)
{
  "report_id": "rep_01HXY9Z...",
  "for_date": "2026-09-15",
  "message_markdown": "💰 *Ayer vendió $342.500*...",
  "kpis": {
    "sales_yesterday_clp": 342500,
    "tickets_yesterday": 12,
    "avg_ticket_clp": 28541,
    "wow_variation": 0.08,
    "month_goal_progress":0.64,
    "iva_due_clp": 187400,
    "iva_due_at": "2026-09-18"
  },
  "billed_units": 3
}

message_markdown es el texto listo para mostrar en un chat o WhatsApp. kpis alimenta directo a un widget del dashboard. Recomendamos suscribirse al webhook cfo.report.generated en lugar de encuestar este endpoint todas las mañanas.

Webhooks

El ERP puede suscribirse a eventos para recibir en tiempo real las novedades de Fernanda. Entrega al menos una vez con 12 reintentos en ~24 horas, backoff exponencial, y verificación de firma con secreto rotable.

EventoCuándo se dispara
cfo.report.generatedEl reporte diario está listo
cfo.alert.raisedAlerta de flujo, IVA, stock, margen o caída de ventas
cfo.reorder.suggestedSugerencia de pedido a un proveedor
consent.registeredConsentimiento nuevo o renovado
consent.revokedEl comerciante revocó — bloqueo en ≤ 60s
sale.rejectedUna venta fue rechazada tras validación asíncrona
document.ingestedUn DTE fue aceptado
platform.status.changedCambio de estado de la plataforma (throttle, mantención)
Verificación de firma (recomendada en Node.js)
import { createHmac, timingSafeEqual } from 'node:crypto';

export function verificarWebhook(secret, header, cuerpo) {
  const partes = Object.fromEntries(
    header.split(',').map((p) => p.trim().split('='))
  );
  const t = partes.t, sig = partes.v1;
  if (!t || !sig) return false;
  if (Math.abs(Date.now()/1000 - Number(t)) > 300) return false;
  const esperado = createHmac('sha256', secret)
    .update(`${t}\n${cuerpo}`).digest();
  const recibido = Buffer.from(sig, 'base64');
  return recibido.length === esperado.length &&
       timingSafeEqual(esperado, recibido);
}
🔄

El endpoint del ERP debe responder 2xx en menos de 5 segundos. El trabajo pesado se hace asíncrono en su lado. Si el endpoint devuelve 410 Gone, Nankú lo desuscribe automáticamente y avisa a su equipo por correo.

Errores

Todas las respuestas no-2xx siguen RFC 7807 con una extensión Nankú para códigos estables:

{
  "type": "https://api.nanku.app/errors/consent_revoked",
  "title": "Merchant consent has been revoked",
  "status": 403,
  "code": "consent_revoked",
  "correlation_id": "req_01HXYA...",
  "extras": { "organization_id": "org_...", "revoked_at": "..." }
}

Consuman siempre por code, no por title. Los códigos son estables entre versiones; los títulos pueden cambiar por claridad.

HTTPCódigoSignificadoReintentar
400invalid_payloadCuerpo falló validación de esquema❌
401invalid_api_keyLlave inválida, revocada o entorno equivocado❌
401signature_staleTimestamp fuera de ±300s❌ (recalcular)
403consent_missingSin consentimiento activo para ese comercio❌
403consent_revokedEl comerciante revocó❌
404not_foundRecurso no existe o no pertenece a su partner❌
409idempotency_conflictMisma Idempotency-Key, cuerpo distinto❌
422business_rule_violationEj.: suma de líneas ≠ total❌
429rate_limitedVer RateLimit-Reset✅ backoff
500internalError de servidor✅ backoff
502upstream_unavailableDependencia caída✅ backoff

Límites de uso

Dos capas de rate limit protegen a Nankú y al resto de comercios del socio si uno se descontrola:

CuboAlcanceLímiteRáfaga
Partner globalPor partner60 req/s120
OrganizationPor (partner, comercio)12 req/s30
CFO askPor comercio, en /cfo/ask10 req/min20
CFO reportPor comercio, en /cfo/report6 req/hora12

Cada respuesta trae los encabezados RateLimit-Partner, RateLimit-Org, etc. — con limit, remaining y reset según el borrador IETF de RateLimit fields.

Backoff recomendado
// Exponencial con jitter, tope 30s
delay(intento) = Math.min(30000, 250 * 2**intento) + jitter(0, 250);
// Reintentar máximo 5 veces para operaciones con Idempotency-Key

Entornos

Sandbox
https://api.sandbox.nanku.app/v1

Datos aislados, reset semanal, Fernanda con salida sintética. Llaves nk_test_sk_... emitidas el día en que se firma el acuerdo de datos.

Producción
https://api.nanku.app/v1

Comercios reales, Fernanda real. Llaves nk_live_sk_... emitidas tras un test de integración verde en sandbox y un correo firmado de handoff.

Modelo de seguridad

Los controles principales, uno por vector, como los espera un revisor de seguridad senior:

AmenazaControlDueño
Robo de llaveFirma HMAC del cuerpo + ventana ±300s + lista de IPsEdge Partner API
Filtración cruzada entre comerciosRow-Level Security en Postgres sobre partner_idSupabase
Ataque de replayTimestamp firmado + Idempotency-Key con TTL 24hEdge
Prompt injectionCotas de longitud + comillado + capa de recuperación con organization_idMotor de Fernanda
Vecino ruidosoRate limit por partner y por comercio + contador atómico compartidoCloudflare + Postgres
Retiro de consentimientoIngesta bloqueada por partner_data_consents.status. Efecto en ≤ 60sEdge
Exposición de PII en backupsEncriptación por columna con pgsodium en identidad. Cripto-triturado en revocaciónSupabase Vault
Repudiopartner_audit_log append-only, retención 7 años, hash de request y responsePostgres
Uso de datos por el modeloAnthropic API comercial: los datos no se usan para entrenar modelos; Anthropic los retiene hasta 30 días solo para seguridad y abuso, y luego los borraMotor de Fernanda
Identidad de emisor DTEValidación módulo 11 del RUT + comparación emitter_rut vs. RUT del comercioEdge

Divulgación coordinada: security@nanku.app. Firma PGP publicada en https://nanku.app/.well-known/security.txt. Compromiso de acuse en 2 días hábiles y mitigación en 30 días para severidad alta o crítica.

Ley 19.628 y consentimiento

En este modelo, los roles son claros:

  • El comerciante es el responsable de los datos (data controller).
  • El socio ERP es el encargado del tratamiento (processor).
  • Nankú es subencargado (subprocessor), habilitado por el DPA firmado entre socio y Nankú.

Pantalla de consentimiento — texto de referencia

Debe mostrarse al comerciante antes de la primera ingesta. La versión enviada en consent.policy_version debe coincidir con la vigente:

Autorización para integrarse con Nankú (asesor financiero virtual)
Versión 2026-09-15

Al aceptar, usted autoriza a <RAZÓN SOCIAL DEL ERP> (RUT <RUT>) a
compartir con Positiv Global SpA (RUT 78.164.559-8), operador de la
plataforma Nankú, los datos comerciales y tributarios de <COMERCIO>
que se generan a través de <NOMBRE DEL ERP>, con el único fin de
producir el informe financiero diario, alertas de flujo de caja,
proyección de IVA y recomendaciones de reposición de "Fernanda".

Los datos compartidos son: ventas, compras, documentos tributarios
electrónicos emitidos, inventario y contacto del representante.
No se compartirán números de tarjetas, contraseñas ni datos
personales de sus clientes finales.

Usted puede retirar esta autorización en cualquier momento desde
<URL CONFIGURACIÓN>. Una vez retirada, Nankú detendrá el
procesamiento dentro de 60 segundos y eliminará los datos de
identidad de su empresa dentro de 30 días.

Retención

  • Identidad del comercio — eliminada por cripto-triturado a los 30 días de la revocación.
  • Datos transaccionales — 7 años (obligación Artículo 17 del Código Tributario).
  • Salidas del CFO — 400 días rodantes.
  • Registro de auditoría — 7 años, append-only. El socio puede consultarlo por GET /audit.

Subencargados

Cualquier alta se avisa con 30 días de antelación. Hoy: Supabase (Postgres, us-east-1), Anthropic (motor Fernanda; sin entrenamiento con sus datos, retención máxima 30 días), Vercel (edge), Cloudflare (WAF), Twilio/Meta (WhatsApp), ElevenLabs (voz opcional). Todos con SOC 2 Type II vigente.

SDK y ejemplos

Publicamos clientes copia-y-pega — no como paquete versionado, para que su equipo los adapte a su telemetría y logging:

  • Node.js 18+ — ~200 líneas, sin dependencias (usa fetch y node:crypto nativos).
  • Python 3.10+ — async con httpx. Incluye verificar_webhook().
  • cURL / Bash — script quickstart.sh que hace el flujo completo (alta → venta → consulta → reporte).
  • OpenAPI 3.1 — spec formal para generar SDKs en el lenguaje que prefiera (compatible con Postman, Insomnia, Stainless, Fern).

Los archivos se entregan por correo cifrado junto con las llaves sandbox. Están también en el repositorio del socio bajo docs/partner-api/.

Roadmap 2026–2027 En evolución

Fernanda no es un producto terminado: cada 6 semanas liberamos una capacidad nueva y los comercios de su plataforma la reciben automáticamente, sin cambios en la integración. Esto es lo que viene, ordenado por valor para el comerciante y esfuerzo de desarrollo.

🇨🇱

Por qué importa: en Chile no existe hoy un CFO virtual que combine POS en tiempo real, cruce con el SII, análisis con lenguaje natural chileno y entrega proactiva por WhatsApp. Bsale, Defontana, Nubox, Softland, Alegra, Xero y los asistentes bancarios cubren una o dos de esas piezas — ninguno las cuatro. Su plataforma la estrena.

Fase 2 — comprometida

CapacidadQué le entrega al comercianteFuente / tecnología
Conciliación bancaria diariaCruza ventas del POS contra depósitos en cuenta corriente. Detecta pagos que no llegaron, cobros duplicados, liquidaciones de tarjeta atrasadas.Fintoc / Belvo (Open Finance)
Monitoreo del SIIFolios sin usar, F29 pendientes, DTE recibidos sin aceptar, cambios de régimen tributario. Actualización cada 24 h.Apigateway.cl
Pre-balance del año fiscalIngresos acumulados, gastos aceptados, utilidad estimada y proyección de renta AT del año siguiente (14 D N°8). Sin sorpresas en abril.SII + datos POS

Fase 3 — inteligencia comercial fina

CapacidadQué le entrega al comercianteFuente / tecnología
Análisis de canasta"Los que compran cerveza llevan hielo el 68 % de las veces — póngalos juntos en la vitrina." Sube el ticket promedio sin subir precios.SQL sobre ítems de venta
Simulador de precio"Si sube $200 a la Coca 1,5 L pierde ~4 % de unidades pero gana 12 % de margen — le conviene." Elasticidad calculada del historial real.Datos POS
Alertas por clima"Mañana 32 °C en Concepción: reponga hielo y bebidas, esos días vende 40 % más."OpenWeatherMap
Calendario chileno completoFeriados regionales, quincenas, fechas de pago del sector público, bono marzo, temporada escolar — con impacto estimado en ventas del rubro.Calendario propio
Fugas de cajaRetiros de efectivo sin justificar, mermas fuera de rango, diferencias de arqueo recurrentes.Datos POS
Horas pico"Vende el 34 % del día entre 18:00 y 20:00; una promo a las 17:00 corre la curva."Datos POS
Pronóstico de venta por producto"Va a vender 340 Coca 1,5 L este mes (± 25). Le quedan 42 — pida hoy."Modelo Prophet
Régimen tributario óptimoCompara ProPyme Transparente, 14 D N°8 y régimen general con el ahorro anual estimado. Siempre con la recomendación de validar con su contador.Motor tributario
Factoring en apretones de flujoDetecta el apretón, identifica facturas por cobrar y sugiere ceder la más conveniente, con costo y plazo estimados.Xepelin · Cumplo · Fynpal
Situación crediticiaAlerta si el score del negocio baja o aparece morosidad reportada.Equifax
Benchmark anónimo entre comercios"Su ticket promedio está en el percentil 62 de los almacenes de Concepción." Se activa con masa crítica de comercios por rubro y comuna.Datos agregados Nankú

Fase 4 — módulos de gestión completa

CapacidadQué le entrega al comercianteFuente / tecnología
Nómina básicaSueldos, cotizaciones AFP/Fonasa, imposiciones, liquidaciones y finiquitos. Fernanda avisa vencimientos y costo real del equipo.Previred · Dirección del Trabajo
Cierre contable mensual automáticoLibro Diario, Mayor y Balance de saldos armados solos. Le ahorra al contador la mayor parte del trabajo repetitivo.Motor contable
Verticales por rubroRestaurantes (food cost, ficha técnica, merma de cocina) · Botillerías (Ley Emilia, horarios, ISP) · Farmacias (control de fármacos, receta retenida, vencimientos).Módulos específicos
Chilecompra / Mercado PúblicoAvisa licitaciones relevantes para el rubro, ayuda a armar la oferta y calcula si conviene participar.API Mercado Público

Cada capacidad nueva llega a su integración por los mismos endpoints y eventos ya documentados: aparece como nuevos campos en kpis, nuevos tipos en cfo.alert.raised o nuevos temas que Fernanda puede responder en /cfo/ask. Las adiciones nunca rompen contratos existentes (ver política de versionado en la introducción).

Soporte para partners

¿Su equipo evaluó la documentación y quiere avanzar? Nos coordinamos por WhatsApp o correo y agendamos una llamada técnica de 30 minutos con el equipo de Nankú para responder preguntas específicas de la integración.

Correos:

💬 Conversar por WhatsApp con el equipo Nankú