🐙 Oktopus · para agentes

El riel de pago contra entrega para agentes en LATAM

Oktopus expone un MCP server (Model Context Protocol, Streamable HTTP) y una API REST. Con esto, un agente de IA —Claude Code, Claude Desktop, Cursor— puede montar y operar una tienda de pago contra entrega (COD) de punta a punta: crear productos, generar landings, conectar Dropi, crear órdenes contra entrega y cobrarlas.

Es el reemplazo de Shopify + Releasit para dropshipping COD, agent-native. La categoría: el "ACP del contra entrega" — donde el Agentic Commerce Protocol de Stripe/OpenAI asume tarjeta en US/EU, Oktopus cobra contra entrega y crea la orden en Dropi, el modelo dominante de LATAM.

Conectar el MCP en 1 comando

Endpoint MCP: https://www.oktopus.lat/api/mcp (alias de /api/mcp, Streamable HTTP, stateless). Auth: header Authorization: Bearer okto_live_secret_….

Claude Code

claude mcp add --transport http oktopus https://www.oktopus.lat/api/mcp \
  --header "Authorization: Bearer TU_API_KEY"

Claude Desktop / Cursor (mcp.json)

{
  "mcpServers": {
    "oktopus": {
      "type": "http",
      "url": "https://www.oktopus.lat/api/mcp",
      "headers": { "Authorization": "Bearer TU_API_KEY" }
    }
  }
}

¿Cómo saco mi API key?

Creá una cuenta en oktopus.lat y generá una key en Configuración → API keys, con el scope mcp:invoke (y orders:write / products:write / landings:write según lo que quieras que el agente pueda escribir). Para iterar sin efectos reales, usá una key de test (okto_test_secret_…): crea órdenes en sandbox sin empujarlas a Dropi.

Qué puede hacer un agente (algunas de las 47+ tools del MCP)

ToolTipoQué hace
okto_dashboard_metricsleeResumen del negocio: ingresos 30d, órdenes pendientes, productos.
okto_store_getleeTiendas del usuario (país, moneda, branding).
okto_orders_recentleeÚltimas órdenes COD (cliente, ciudad, total, estado).
okto_order_getleeDetalle de una orden y su estado en Dropi.
okto_product_lookupleeBuscar productos del catálogo por nombre.
okto_landings_list · okto_landing_getleeListar y ver landings (páginas de venta).
okto_dropi_push_orderescribeEmpujar una orden a Dropi / la transportadora (crea la orden COD real).
okto_order_update_statusescribeCambiar el estado de una orden.
okto_product_price_updateescribeActualizar precio / precio tachado de un producto.
okto_landing_set_branding · set_field · toggle_guarantee · status_setescribeEditar colores, textos, garantía y publicar/ocultar una landing.
okto_checkout_key_createescribeAcuña la publishable key + el snippet para enchufar tu propia página al checkout COD.

Estas son solo algunas. El MCP expone más de 47 herramientas (crear orden COD, generar landing con IA, cobertura de contra entrega por ciudad, operar WhatsApp, y más). Ver el catálogo completo por categoría en /mcp-server, o pedile al MCP tools/list para el set exacto.

API REST + checkout embebible

Spec completa: openapi.json.

Para cobrar contra entrega en cualquier página, incrustá el SDK:

<div id="oktopus-checkout"></div>
<script src="https://www.oktopus.lat/embed/oktopus-checkout.js"></script>
<script>
  window.Oktopus.checkout({
    publishableKey: 'okto_live_pub_...',
    productId: 'uuid-del-producto',
    country: 'CO', unitPrice: 120000,
    mount: '#oktopus-checkout',
  })
</script>

Conectá tu propia página al riel COD

No tenés que usar nuestras landings ni nuestro hosting. Armá tu página donde quieras —Claude Code, tu Vercel, Framer, tu propio React— y enchufá el checkout. La orden entra igual que una landing nativa: anti-fraude de precio + push a Dropi + confirmación por WhatsApp. Hay 3 niveles de libertad:

1 · Widget — lo más rápido

Pegás el snippet de arriba (Oktopus.checkout({...})) y listo: renderiza el formulario COD completo (nombre, teléfono, departamento→ciudad en cascada, dirección) y crea la orden. Cero backend tuyo.

2 · Headless — control total del diseño

Diseñás tu propio formulario y POSTeás vos mismo, desde tu dominio autorizado, con tu publishable key. La tienda y el país salen de la llave; solo mandás el producto + los datos del cliente:

fetch('https://www.oktopus.lat/api/orders/create', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
    'Authorization': 'Bearer okto_live_pub_...',
  },
  body: JSON.stringify({
    product_id: 'uuid-del-producto',
    nombre: 'Juan Pérez', telefono: '3001234567',
    departamento: 'Cundinamarca', ciudad: 'Bogotá',
    direccion: 'Calle 1 # 2-3',
    quantity: 1, total_price: 120000,
  }),
})

Las ciudades válidas por país salen de GET /api/geo/cities?country=CO. Para crear órdenes desde tu backend (sin navegador) usá una key secret con scope orders:create en vez de la publishable.

3 · Tu landing Oktopus, en tu propio código

¿Arrancaste con una landing que generamos nosotros y la querés a tu medida? Pedíle a tu agente que te la "ejecte" a código con okto_landing_eject (HTML standalone y proyecto React+Vite) para llevártela, pimpearla sin límite y deployarla en tu Vercel — con el checkout ya cableado.

Qué tiene que tener tu página para vender (COD)

No armes cualquier página: antes de construir o ejectar, pedíle a tu agente okto_page_playbook — devuelve el checklist con los datos reales de tu cuenta (tu pixel, tu país). En resumen, una buena página contra entrega tiene:

La parte mágica: que tu agente lo cablee solo

Si conectaste tu cuenta por MCP (con tu key secret), tu agente acuña la publishable key y te trae el snippet listo sin que entres al dashboard. Una sola llamada:

okto_checkout_key_create({
  domains: ["mitienda.com"],   // la key SOLO funciona desde acá
  product_id: "uuid-del-producto",
  environment: "live"          // o "test" para sandbox
})
// → { publishable_key, snippet, allowed_domains, ... }

La publishable key es pública (va en el JS del cliente) pero de bajo riesgo: solo crea órdenes y solo funciona desde los dominios que autorizaste. Si la página vive en otro dominio, acuñás otra o agregás el dominio.

Seguridad