El único POS de Colombia con API pública de escritura

Conecta tu sistema con POS Colombia.

API REST v1 de lectura y escritura: crea productos, registra ventas desde tu sistema, ajusta inventario y gestiona clientes. Con entorno de pruebas (sandbox) y servidor MCP para agentes IA.

Disponible desde el plan Profesional, con el pago activo.

Todo lo que tu integración necesita

Una API pensada para conectar el POS con tu ERP, tu tienda online, un tablero propio o un agente IA — sin fricción.

Lectura Y escritura

Crea y edita productos y categorías, registra ventas desde tu sistema, ajusta inventario y gestiona clientes. Los totales e impuestos los calcula el POS con tu configuración.

Entorno de pruebas

Las llaves pk_test operan contra una org sandbox aislada: pruebas de punta a punta sin tocar tu operación real. No consume cupo. Reinicia el sandbox con un endpoint.

Servidor MCP

Conecta Claude u otros agentes IA vía Model Context Protocol. El agente opera tu negocio en lenguaje natural, respetando exactamente los scopes y cupos de tu llave.

Webhooks (Profesional+)

Recibe eventos en tiempo real (order.created, order.paid, product.updated, …) firmados con HMAC-SHA256, en vez de hacer polling. Verifica la firma y responde 2xx.

Llaves con scopes

Genera y revoca llaves por scope (orders, products, categories, inventory, customers — read/write) con expiración opcional. Mínimo privilegio por integración.

Multi-tenant seguro

El organization_id sale siempre de la llave, nunca del body. Imposible leer o escribir datos de otra cuenta. Cada escritura queda auditada.

Límites por plan

El rate limit es por llave; el cupo de escritura es por negocio y por mes. Las llaves de prueba (sandbox) no consumen cupo.

Profesional

120 req/min

10.000 escrituras/mes

Empresa

300 req/min

50.000 escrituras/mes

Cadena

600 req/min

Escrituras ilimitadas

Empieza en 3 pasos

De cero a tu primera venta registrada desde tu sistema, en el entorno de pruebas.

  1. 1Crea una llave de prueba

    En el dashboard, entra a Configuración → API Keys y genera una llave pk_test_. El secreto se muestra una sola vez: cópialo.

  2. 2Haz tu primer request

    Lista tus productos del sandbox con curl o Node:

    curl https://poscolombia.com/api/v1/products \
      -H "X-API-Key: pk_test_..."
    const res = await fetch(
      "https://poscolombia.com/api/v1/products",
      { headers: { "X-API-Key": process.env.POS_API_KEY } },
    );
    const { data } = await res.json();
  3. 3Registra una venta (idempotente)

    Manda un clientReference único por intento: reintentar nunca cobra dos veces.

    await fetch("https://poscolombia.com/api/v1/orders", {
      method: "POST",
      headers: {
        "X-API-Key": process.env.POS_API_KEY,
        "Content-Type": "application/json",
      },
      body: JSON.stringify({
        clientReference: crypto.randomUUID(),
        orderType: "para_llevar",
        items: [{ productId: "prod-uuid", quantity: 2 }],
        paymentMethod: "cash",
      }),
    });

Preguntas frecuentes

¿En qué planes está disponible la API?

Desde el plan Profesional en adelante (Profesional, Empresa y Cadena), y solo después de activar el pago. Los planes básicos y los usuarios en prueba no pueden generar llaves.

¿Puedo probar sin tocar mis datos reales?

Sí. Genera una llave de prueba (pk_test_) que opera contra una org sandbox aislada. Todo lo que crees ahí es desechable, no aparece en tus reportes ni billing y no consume cupo. Cuando tu integración esté lista, pasa a una llave pk_live_.

¿Cómo evito cobrar dos veces una venta?

Al registrar una venta (POST /api/v1/orders) manda un clientReference: un UUID único por intento. Si repites la request con el mismo valor (timeout, reintento), el server devuelve la misma orden en vez de duplicar la venta.

¿Qué límites tiene?

El rate limit va por llave (Profesional 120, Empresa 300, Cadena 600 req/min) y el cupo de escritura por org/mes (Profesional 10.000, Empresa 50.000, Cadena ilimitado). El sandbox no consume cupo.

¿Listo para integrar?

Genera una llave de prueba y haz tu primer request en minutos. Cuando estés listo, pasa a producción.