pensechatDesarrolladores
API de integración

Integración con Pense Chat

Conecte el sistema de su empresa, una automatización de n8n, Make o Zapier, o un asistente de IA a la tienda y al inventario que la empresa tiene en Pense Chat. Envíe productos, precios e inventario, consulte el catálogo y reciba las ventas, por la API o por MCP.

Direcciónhttps://www.pensechat.com.br
AutenticaciónAuthorization: Bearer SEU_TOKEN
FormatoJSON
MCPChatGPT, Claude, n8n y otros sistemas

Última actualización de la documentación: 10/10/2026

Visión general

Actualizado el 10/10/2026

Cada empresa cliente de Pense Chat tiene su catálogo, su inventario y sus ventas. Con esta API, otro sistema envía productos, precios e inventario a la empresa, consulta los productos y obtiene las ventas para registrarlas de su lado. Las URLs son las mismas para todas las empresas: el token indica de qué empresa es la llamada.

  • El sistema de gestión (ERP) de la empresa, que envía el catálogo y recibe las ventas.
  • Automatizaciones en n8n, Make, Zapier o Power Automate, por llamada HTTP.
  • Asistentes de IA como ChatGPT y Claude, y agentes de n8n, por el servidor MCP.
  • Código propio, en cualquier lenguaje que haga una llamada HTTP.
POST
/api/integracao/produtosEnviar productos, precios e inventario
GET
/api/integracao/produtosConsultar productos, precio e inventario
GET
/api/integracao/vendasObtener ventas, cancelaciones y devoluciones
POST
/api/integracao/vendas/confirmacaoConfirmar lo que se registró
MCP
/api/integracao/mcpServidor MCP para IA y automatizaciones

Dirección base: https://www.pensechat.com.br

Autenticación

Actualizado el 10/10/2026

Todas las llamadas usan el encabezado Authorization con el token de la conexión. Quien genera el token es la empresa, en el panel de Pense Chat, en Configuraciones, pestaña Acesso por API, y lo envía a quien va a integrar.

Cada token tiene sus propios permisos, definidos por la empresa: ver productos, editar productos, ver ventas, confirmar ventas y usar MCP. También puede tener fecha de vencimiento. Una empresa puede tener varios tokens, uno por sistema. Si uno se reemplaza, el anterior deja de funcionar al instante.

Authorization: Bearer SEU_TOKEN
Content-Type: application/json

Para probar el token:

Terminal
curl "https://www.pensechat.com.br/api/integracao/produtos?search=mouse&limit=1" \
  -H "Authorization: Bearer SEU_TOKEN"

Si devuelve 401, el token es incorrecto, venció o la conexión fue desactivada. Si devuelve 403, el token no tiene permiso para ese recurso, o la empresa no contrató un módulo con catálogo (Tienda, Inventario o PDV).

Formatos y estándares

Actualizado el 09/10/2026

Cómo debe enviarse cada tipo de dato. Los números siempre usan punto decimal, como exige JSON; la tienda los muestra en formato brasileño (R$ 149,90) al cliente. Un dato fuera de formato se rechaza con 422 y el mensaje indica el campo.

DatoFormatoEjemploObservación
Fecha y horaISO 8601 con zona horaria2026-10-09T10:05:00-03:00Sin zona horaria se rechaza. La plataforma guarda en UTC y las respuestas salen en UTC (terminan en Z). La hora de referencia es la de Brasilia (America/Sao_Paulo).
DineroNúmero con punto, 2 decimales, en reales149.90Sin símbolo de moneda ni separador de miles. Un texto como "149,90" se rechaza. Los decimales de más se redondean.
Inventario y cantidadNúmero, hasta 4 decimales18 o 2.5Fracciones solo para productos vendidos por peso o medida (kg, m, l).
PesoNúmero en kg, hasta 3 decimales0.250250 gramos son 0.250.
MedidasNúmero en cm, hasta 2 decimales17.5Alto, ancho y largo del paquete.
CódigosTexto o número entero"7120" o 7120product_code, variant_code y store_code. El número se vuelve texto: 7120 y "7120" son el mismo código.
SKUTexto, hasta 60 caracteres7120-1Obligatorio en cada variante.
Código de barras (ean)Texto, hasta 14 dígitos7891234567895Puede ser null.
TextosUTF-8, con acentosMouse sem fio, pretointernal_name hasta 200 caracteres; internal_description hasta 20.000.
Verdadero o falsotrue o false, sin comillastrueSe usa en is_active y pickup_in_store.
Unidad de ventaUna de la listaunun, kg, g, m, m2, l, cx, par.
Valor ausentenull o campo omitidonullSignifica "no informado": nunca borra lo que ya está en la plataforma.
Id de la plataformaNúmero entero1532No lo necesita para enviar: use sus códigos. Vuelve en la consulta y en las ventas, en product_id y variant_id.
MensajesPortugués (pt-BR)Los campos y los códigos de error están en inglés; los mensajes para personas, en portugués.

Nombres y códigos

Actualizado el 09/10/2026

En la plataforma, el producto se identifica por su id, un número que nunca cambia. Sus códigos vienen en cada respuesta, para que los compare con su sistema.

CampoQué esQuién lo defineDónde aparece
product_codeCódigo del producto en su sistema.Su sistema, en el envío. Si cambia, es otro producto.Envío, consulta y ventas.
variant_codeCódigo de la variante en su sistema. null en producto sin variantes.Su sistema, en el envío.Envío, consulta y ventas.
skuSKU de la variante.Su sistema, en el envío. Puede cambiar: el anterior sigue encontrando la variante.Envío, consulta y ventas.
eanCódigo de barras.Su sistema, en el envío.Envío, consulta y ventas.
product_idId del producto en la plataforma. Nunca cambia.La plataforma, al crear el producto.Consulta y ventas.
variant_idId de la variante en la plataforma.La plataforma, al crear la variante.Consulta y ventas.
online_codeCódigo del producto en la plataforma.En el producto creado por un envío, sale de su product_code. En el registrado en el panel, es el que eligió la empresa.Consulta y ventas.
internal_nameNombre interno, como está en su sistema.Su sistema, en el envío. Se actualiza en cada envío.Envío, consulta y ventas.
internal_descriptionDescripción interna, como está en su sistema.Su sistema, en el envío. Se actualiza en cada envío.Envío.
commercial_nameNombre comercial, el que el cliente ve en la tienda.La empresa, en su panel. El envío nunca lo cambia.Consulta y ventas. En las ventas viene con la variante, como "Mouse Gamer, Preto".

Ejemplo: el mouse 7120 de su sistema se convierte en la plataforma en el producto 1532. Vuelve como product_id 1532 y product_code 7120. Un producto registrado directamente en el panel viene con product_code null hasta que la empresa informe el código de su sistema en el producto. En un producto nuevo, el nombre y la descripción comerciales empiezan iguales a los internos, y desde entonces son de la empresa.

Cómo empezar

Actualizado el 09/10/2026

  1. Pida el token a la empresa. La empresa lo genera en el panel, marca los permisos que usted va a usar y le envía el token. Se muestra una sola vez.
  2. Pruebe con productos nuevos. Envíe 2 o 3 productos que aún no están en la plataforma. Se crean como borrador y el cliente no los ve.
  3. Revise el resultado. La respuesta muestra lo que se creó, actualizó o rechazó. La empresa también ve cada envío en el panel, campo por campo.
  4. Envíe la carga completa. Todos los productos de la empresa, con load_type: "full", en lotes de hasta 2000 variantes.
  5. Después, solo lo que cambie. Use load_type: "incremental" y envíe los productos modificados y los nuevos.

Enviar productos, precios e inventario

Actualizado el 09/10/2026

Envíe los productos en el cuerpo de POST /api/integracao/produtos. La respuesta ya trae el resultado.

Cómo se identifica el producto

  • Por product_code junto con variant_code, que son los códigos de su sistema.
  • Si solo cambia el SKU, sigue siendo el mismo producto.
  • Si cambia el product_code, pasa a ser otro producto.
  • Un producto sin variantes se envía con un ítem en variants y variant_code null.

Nombre interno y nombre comercial

  • Envíe el nombre y la descripción de su sistema en internal_name y internal_description. Se actualizan en cada envío. Si ya envía name y description, puede seguir: valen como los internos.
  • El nombre y la descripción comerciales, los que el cliente ve en la tienda, los hace la empresa. En un producto nuevo empiezan iguales a los internos, y la empresa los ajusta en su panel. Su envío nunca cambia el nombre comercial.
  • El nombre de la variante (variants[].name, como "Preto") sigue la misma regla del nombre comercial.

Qué se actualiza

  • En cada envío: precio, promoción, costo, inventario, código de barras, SKU, activo, nombre y descripción internos.
  • Solo al crear el producto: categoría, marca, peso y medidas. Después, los gestiona la empresa.
  • Un campo vacío o null no borra nada.
  • is_active: false en el producto quita de la tienda el producto entero, con todas sus variantes. En una variante, quita solo esa: en un mouse Negro, Blanco y Azul, desactivar el Azul deja el Negro y el Blanco a la venta.
  • Un producto que no viene en el envío no cambió, y queda como está.

Inventario

stock.on_hand es el inventario que tiene su sistema. Una venta hecha en la plataforma baja el inventario al instante; mientras no se registre en su sistema, la plataforma descuenta esa venta del número que usted envíe. Ejemplo: había 6, se vendieron 3 en la tienda física y 3 en línea. Su sistema envía 3 y la plataforma queda en 0. Cuando la venta se registra en su sistema y se confirma, el descuento termina.

Ejemplo

Terminal
curl -X POST "https://www.pensechat.com.br/api/integracao/produtos" \
  -H "Authorization: Bearer SEU_TOKEN" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: carga-2026-10-09-1005" \
  -d @produtos.json
produtos.json
{
  "store_code": "matriz",
  "generated_at": "2026-10-09T10:05:00-03:00",
  "load_type": "full",
  "products": [
    {
      "product_code": "6561",
      "internal_name": "ADAPTADOR BLUETOOTH C/ CABO P2",
      "internal_description": "Adaptador Bluetooth 5.0 com saída P2, para som automotivo e caixa de som.",
      "brand_name": "EXEMPLO",
      "category_code": "1",
      "category_name": "GERAL",
      "sale_unit_code": "un",
      "is_active": true,
      "variants": [
        {
          "variant_code": null,
          "sku": "6561",
          "ean": "7898843500046",
          "price": 89.9,
          "cost_price": 41.2,
          "weight": 0.12,
          "height": 4,
          "width": 9,
          "length": 14,
          "is_active": true,
          "stock": {
            "on_hand": 214
          }
        }
      ]
    },
    {
      "product_code": "7120",
      "internal_name": "MOUSE GAMER RGB 7200DPI",
      "brand_name": "EXEMPLO",
      "category_code": "4",
      "category_name": "PERIFERICOS",
      "sale_unit_code": "un",
      "is_active": true,
      "variants": [
        {
          "variant_code": "1",
          "sku": "7120-1",
          "ean": "7891234567895",
          "name": "Preto",
          "color_name": "PRETO",
          "price": 149.9,
          "promo_price": 129.9,
          "promo_starts_at": "2026-10-10T00:00:00-03:00",
          "promo_ends_at": "2026-10-20T23:59:59-03:00",
          "cost_price": 72.5,
          "weight": 0.25,
          "height": 6,
          "width": 10,
          "length": 17,
          "is_active": true,
          "stock": {
            "on_hand": 18
          }
        }
      ]
    }
  ]
}

Respuesta

200 OK
{
  "batch_id": 1532,
  "status": "processed_with_errors",
  "received_at": "2026-10-09T13:05:03.000Z",
  "generated_at": "2026-10-09T13:05:00.000Z",
  "totals": {
    "received": 1200,
    "created": 12,
    "updated": 340,
    "unchanged": 846,
    "rejected": 2
  },
  "rejected": [
    {
      "product_code": "7120",
      "variant_code": "3",
      "sku": "7120-3",
      "message": "O preço precisa ser maior que zero."
    },
    {
      "product_code": "9001",
      "variant_code": null,
      "sku": "9001",
      "message": "A unidade cxa não existe na plataforma. Use un, kg, g, m, m2, l, cx ou par."
    }
  ]
}

status viene como processed (todo bien) o processed_with_errors (algún ítem rechazado). Un ítem rechazado no impide los demás.

Reglas

  • Obligatorios: store_code (el código de la tienda de la empresa, normalmente "matriz"), generated_at y, en cada ítem, product_code y sku. Lo que su sistema no tenga, envíelo como null: la empresa lo completa en el panel.
  • Hasta 2000 ítems de variants por envío y 120 envíos por hora por token. Cualquier llamada, también por MCP, tiene el tope de 120 por minuto por token.
  • Si necesita reenviar, use el mismo Idempotency-Key: el envío no se procesa dos veces.

Consultar productos

Actualizado el 09/10/2026

Busque por product_code, sku o search (parte del nombre, el id o el código de la plataforma). La respuesta muestra el nombre comercial (commercial_name), el nombre de su sistema (internal_name), el precio, el precio actual con promoción y el inventario disponible de cada variante. Es la consulta ideal para que un asistente de IA responda "¿tienen el producto X? ¿cuánto cuesta?".

Terminal
curl "https://www.pensechat.com.br/api/integracao/produtos?product_code=7120" \
  -H "Authorization: Bearer SEU_TOKEN"
200 OK
{
  "products": [
    {
      "product_id": 1532,
      "online_code": "7120",
      "product_code": "7120",
      "commercial_name": "Mouse Gamer RGB 7200 DPI",
      "internal_name": "MOUSE GAMER RGB 7200DPI",
      "status": "published",
      "variants": [
        {
          "variant_id": 2871,
          "variant_code": "1",
          "sku": "7120-1",
          "ean": "7891234567895",
          "name": "Preto",
          "price": 149.9,
          "promo_price": 129.9,
          "current_price": 129.9,
          "stock": 18,
          "is_active": true
        }
      ]
    }
  ]
}

Ventas

Actualizado el 09/10/2026

Funciona en tres pasos: obtener las ventas, registrarlas en su sistema y confirmar. Lo confirmado sale de la lista; lo no confirmado vuelve en la próxima consulta.

Se incluyen las ventas hechas desde el día en que la empresa activó la integración. Las ventas anteriores no aparecen aquí.

1. Obtener

Devuelve hasta 100 documentos aún no confirmados, del más antiguo al más reciente: sale (venta pagada), cancel (cancelación de una venta ya confirmada) y return (devolución concluida). Consultar no cambia nada.

Cada ítem trae product_id y variant_id (el id en la plataforma), online_code (el código en la plataforma), product_code y variant_code (sus códigos), internal_name (el nombre en su sistema) y commercial_name (el nombre comercial que vio el cliente).

Entrega, retiro y canal

  • channel: site es una venta en la tienda en línea; pos es una venta en el mostrador (PDV).
  • pickup_in_store: false: entrega. La dirección de entrega viene en customer (código postal, calle, número, complemento, barrio, ciudad y estado) y el flete en shipping_cost.
  • pickup_in_store: true: retiro en la tienda. La dirección viene vacía (null) y el flete es cero.

Formas de pago

Cada venta trae la lista payments, con una línea por forma usada: una venta puede pagarse parte en efectivo y parte con tarjeta. installments es el número de cuotas. method_code es el código de la forma de pago en el registro de la empresa. Estos son los códigos estándar de la plataforma; la empresa puede registrar otros:

method_codeFormaCuotas
pixPIXNo
cartao_creditoCartão de créditoSí
cartao_debitoCartão de débitoNo
boletoBoletoNo
transferenciaTransferênciaNo
dinheiroDinheiroNo

El ejemplo de abajo trae una venta con Pix y entrega, una con tarjeta de crédito en 3 cuotas y retiro en la tienda, una de mostrador pagada en efectivo y débito, una cancelación y una devolución.

Terminal
curl "https://www.pensechat.com.br/api/integracao/vendas" \
  -H "Authorization: Bearer SEU_TOKEN"
200 OK
{
  "generated_at": "2026-10-09T13:10:00.000Z",
  "limit": 100,
  "documents": [
    {
      "type": "sale",
      "number": "100245",
      "channel": "site",
      "placed_at": "2026-10-09T12:41:07.000Z",
      "pickup_in_store": false,
      "customer": {
        "name": "Maria Souza",
        "document": "12345678909",
        "email": "maria@exemplo.com.br",
        "phone": "31999990000",
        "postal_code": "30140071",
        "street": "Rua da Bahia",
        "number": "1000",
        "complement": "Apto 302",
        "neighborhood": "Centro",
        "city": "Belo Horizonte",
        "state": "MG"
      },
      "items": [
        {
          "product_id": 1532,
          "variant_id": 2871,
          "online_code": "7120",
          "product_code": "7120",
          "variant_code": "1",
          "internal_name": "MOUSE GAMER RGB 7200DPI",
          "commercial_name": "Mouse Gamer RGB 7200 DPI com 6 botões, Preto",
          "sku": "7120-1",
          "ean": "7891234567895",
          "unit": "un",
          "quantity": 1,
          "unit_price": 129.9,
          "discount": 0,
          "total": 129.9,
          "unit_cost": 72.5,
          "ncm": null,
          "cest": null,
          "origin": null
        }
      ],
      "subtotal": 129.9,
      "discount": 0,
      "shipping_cost": 18.5,
      "total": 148.4,
      "payments": [
        {
          "method_code": "pix",
          "method_name": "PIX",
          "amount": 148.4,
          "installments": 1
        }
      ],
      "invoice": null
    },
    {
      "type": "sale",
      "number": "100246",
      "channel": "site",
      "placed_at": "2026-10-09T14:05:22.000Z",
      "pickup_in_store": true,
      "customer": {
        "name": "João Lima",
        "document": "98765432100",
        "email": "joao@exemplo.com.br",
        "phone": "31988887777",
        "postal_code": null,
        "street": null,
        "number": null,
        "complement": null,
        "neighborhood": null,
        "city": null,
        "state": null
      },
      "items": [
        {
          "product_id": 1532,
          "variant_id": 2871,
          "online_code": "7120",
          "product_code": "7120",
          "variant_code": "1",
          "internal_name": "MOUSE GAMER RGB 7200DPI",
          "commercial_name": "Mouse Gamer RGB 7200 DPI com 6 botões, Preto",
          "sku": "7120-1",
          "ean": "7891234567895",
          "unit": "un",
          "quantity": 2,
          "unit_price": 129.9,
          "discount": 0,
          "total": 259.8,
          "unit_cost": 72.5,
          "ncm": null,
          "cest": null,
          "origin": null
        }
      ],
      "subtotal": 259.8,
      "discount": 0,
      "shipping_cost": 0,
      "total": 259.8,
      "payments": [
        {
          "method_code": "cartao_credito",
          "method_name": "Cartão de crédito",
          "amount": 259.8,
          "installments": 3
        }
      ],
      "invoice": null
    },
    {
      "type": "sale",
      "number": "100247",
      "channel": "pos",
      "placed_at": "2026-10-09T15:30:00.000Z",
      "pickup_in_store": true,
      "customer": {
        "name": "Consumidor",
        "document": null,
        "email": null,
        "phone": null,
        "postal_code": null,
        "street": null,
        "number": null,
        "complement": null,
        "neighborhood": null,
        "city": null,
        "state": null
      },
      "items": [
        {
          "product_id": 1532,
          "variant_id": 2871,
          "online_code": "7120",
          "product_code": "7120",
          "variant_code": "1",
          "internal_name": "MOUSE GAMER RGB 7200DPI",
          "commercial_name": "Mouse Gamer RGB 7200 DPI com 6 botões, Preto",
          "sku": "7120-1",
          "ean": "7891234567895",
          "unit": "un",
          "quantity": 1,
          "unit_price": 129.9,
          "discount": 9.9,
          "total": 120,
          "unit_cost": 72.5,
          "ncm": null,
          "cest": null,
          "origin": null
        }
      ],
      "subtotal": 129.9,
      "discount": 9.9,
      "shipping_cost": 0,
      "total": 120,
      "payments": [
        {
          "method_code": "dinheiro",
          "method_name": "Dinheiro",
          "amount": 50,
          "installments": 1
        },
        {
          "method_code": "cartao_debito",
          "method_name": "Cartão de débito",
          "amount": 70,
          "installments": 1
        }
      ],
      "invoice": null
    },
    {
      "type": "cancel",
      "number": "100231",
      "canceled_at": "2026-10-09T16:02:10.000Z",
      "reason": "Cliente desistiu da compra",
      "invoice": null
    },
    {
      "type": "return",
      "number": "D100198-1",
      "order_number": "100198",
      "opened_at": "2026-10-09T16:40:00.000Z",
      "reason": "Produto com defeito",
      "restocks": false,
      "refund_amount": 129.9,
      "items": [
        {
          "product_id": 1532,
          "variant_id": 2871,
          "online_code": "7120",
          "product_code": "7120",
          "variant_code": "1",
          "internal_name": "MOUSE GAMER RGB 7200DPI",
          "commercial_name": "Mouse Gamer RGB 7200 DPI com 6 botões, Preto",
          "sku": "7120-1",
          "ean": "7891234567895",
          "quantity": 1,
          "unit_paid": 129.9,
          "unit_cost": 72.5
        }
      ],
      "invoice": null
    }
  ]
}

2. Confirmar

Envíe cada documento que registró. processed lo saca de la lista; rejected lo mantiene y muestra el motivo a la empresa en el pedido.

Terminal
curl -X POST "https://www.pensechat.com.br/api/integracao/vendas/confirmacao" \
  -H "Authorization: Bearer SEU_TOKEN" \
  -H "Content-Type: application/json" \
  -d @confirmacao.json
confirmacao.json
{
  "documents": [
    {
      "type": "sale",
      "number": "100245",
      "status": "processed"
    },
    {
      "type": "sale",
      "number": "100246",
      "status": "rejected",
      "message": "Produto 7120-9 não cadastrado."
    }
  ]
}
200 OK
{
  "results": [
    {
      "type": "sale",
      "number": "100245",
      "result": "saved"
    },
    {
      "type": "sale",
      "number": "100246",
      "result": "saved"
    }
  ]
}

Para cada documento, la respuesta dice: saved (registrado), already_confirmed (ya estaba confirmado), not_found (el número no existe) o not_due (aún no se puede confirmar, como una venta no pagada).

Dónde usarla

Actualizado el 09/10/2026

La API es HTTP con JSON y un token en el encabezado, así que funciona en cualquier herramienta que haga una llamada HTTP. Abajo, el camino en las más usadas.

Sistema de gestión (ERP)

El flujo habitual: cada cierto tiempo (cada 5 o 10 minutos, por ejemplo), su sistema envía los productos que cambiaron, obtiene las ventas nuevas, las registra de su lado y confirma. Use la colección de Postman para ver cada llamada lista antes de programar.

n8n

  1. Para una automatización común, use el nodo HTTP Request. En Authentication, elija Generic Credential Type y Header Auth, con Name Authorization y Value Bearer SEU_TOKEN.
  2. Method GET y URL https://www.pensechat.com.br/api/integracao/vendas para obtener las ventas; method POST, URL https://www.pensechat.com.br/api/integracao/produtos y Body Content Type JSON para enviar productos.
  3. Para un agente de IA en n8n, use el nodo MCP Client Tool, como en la sección de MCP abajo.

Make

  1. Use el módulo HTTP > Make a request.
  2. URL: la dirección de la llamada, como https://www.pensechat.com.br/api/integracao/vendas. Method: GET o POST.
  3. En Headers, agregue Authorization con el valor Bearer SEU_TOKEN. En el POST, Body type Raw, Content type JSON (application/json).

Zapier

  1. Use la acción Webhooks by Zapier > Custom Request.
  2. Method y URL de la llamada, como GET y https://www.pensechat.com.br/api/integracao/vendas.
  3. En Headers, Authorization con Bearer SEU_TOKEN y, en el POST, Content-Type con application/json.

Asistentes de IA y LLMs

Para ChatGPT, Claude, agentes de n8n y cualquier cliente MCP, use el servidor MCP: el asistente ve las herramientas que el token permite y las llama solo. Los pasos están en la sección de MCP.

Los agentes que leen OpenAPI, como las acciones de un GPT personalizado, pueden importar la especificación de https://www.pensechat.com.br/api/integracao/openapi.json y usar autenticación Bearer con el token.

Código propio

Sirve cualquier lenguaje. Los ejemplos de abajo obtienen las ventas en JavaScript y en Python:

JavaScript
const resposta = await fetch("https://www.pensechat.com.br/api/integracao/vendas", {
  headers: { Authorization: "Bearer SEU_TOKEN" },
});
const { documents } = await resposta.json();
Python
import requests

resposta = requests.get(
    "https://www.pensechat.com.br/api/integracao/vendas",
    headers={"Authorization": "Bearer SEU_TOKEN"},
    timeout=30,
)
documents = resposta.json()["documents"]

Conectar por MCP

Actualizado el 10/10/2026

MCP es un estándar para conectar sistemas con asistentes de IA. Con él, ChatGPT, Claude, n8n y otros pueden consultar productos, inventario y ventas de la empresa con el mismo token de la API y los mismos permisos.

Herramientas disponibles:

  • enviar_produtos: Enviar productos, precios e inventario
  • consultar_produtos: Consultar productos, precio e inventario
  • buscar_vendas: Obtener ventas, cancelaciones y devoluciones
  • confirmar_vendas: Confirmar lo que se registró

Dos formas de conectar

FormaDirecciónUse en
URL con el tokenhttps://www.pensechat.com.br/api/integracao/mcp/SEU_TOKENChatGPT, Claude (web y aplicación) y cualquier sistema que solo pide la URL del servidor.
URL + encabezadohttps://www.pensechat.com.br/api/integracao/mcpn8n y plataformas que aceptan el encabezado Authorization: Bearer SEU_TOKEN.

La URL con el token aparece en el panel de la empresa al crear o reemplazar el token. Guárdela como una contraseña.

ChatGPT

  1. En Settings > Apps & Connectors > Advanced settings, active el Developer mode.
  2. En Apps & Connectors, haga clic en Create.
  3. Nombre: Pense Chat. MCP Server URL: https://www.pensechat.com.br/api/integracao/mcp/SEU_TOKEN. Authentication: No authentication.
  4. Guarde y, en una conversación, active el conector Pense Chat.

Claude (web y aplicación)

  1. En Configuración > Conectores, haga clic en Agregar conector personalizado.
  2. Nombre: Pense Chat. URL del servidor MCP remoto: https://www.pensechat.com.br/api/integracao/mcp/SEU_TOKEN.

n8n

Nodo MCP Client Tool, conectado a un agente de IA:

  • Endpoint: https://www.pensechat.com.br/api/integracao/mcp
  • Server Transport: HTTP Streamable
  • Authentication: Header Auth, Name Authorization, Value Bearer SEU_TOKEN

Otros sistemas

Si el sistema acepta un servidor MCP remoto, registre la URL con el token. Si pide el tipo de conexión, elija HTTP. Los sistemas que no usan MCP, como Pipedrive, Conta Azul o Bling, pueden usar esta API directamente o n8n como puente.

Probar sin ninguna herramienta

Terminal
curl -X POST "https://www.pensechat.com.br/api/integracao/mcp/SEU_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'

El token y la URL con el token dan acceso a los datos de la empresa. No los comparta. Si se filtran, la empresa genera otro en el panel y el anterior deja de funcionar al instante.

Errores

Actualizado el 09/10/2026

Los errores vuelven como { "code": "...", "message": "..." }. El code es fijo, para que su sistema lo trate; el message lo explica en portugués.

HTTPcodeCuándo
400invalid_jsonEl cuerpo no es un JSON válido.
401unauthorizedToken incorrecto, conexión desactivada por la empresa o empresa desactivada.
401token_expiredEl token venció. Pida uno nuevo a la empresa.
403forbiddenEl token no tiene permiso para este recurso.
403module_not_contractedLa empresa no contrató un módulo con catálogo (Tienda, Inventario o PDV).
404resource_disabledEste recurso está desactivado en la plataforma.
413too_largeMás de 2000 ítems de variants. Divida el envío.
422validation_failedFormato incorrecto. El mensaje indica el campo.
429rate_limitedMás de 120 envíos en la última hora, o más de 120 llamadas en el último minuto. Espere el tiempo de Retry-After.
500Falla de la plataforma. Reenvíe con el mismo Idempotency-Key.

Reglas

Actualizado el 09/10/2026

  • Todas las llamadas usan el encabezado Authorization: Bearer TOKEN. La empresa genera el token en su panel, con permisos propios y, si quiere, fecha de vencimiento.
  • Un token solo alcanza a la empresa que lo generó. Ninguna llamada cruza empresas.
  • Nada se borra. Para quitar algo de la tienda, desactívelo con is_active false. No existe llamada de eliminación.
  • Por la API se puede enviar productos, precios e inventario, consultar productos y obtener y confirmar ventas. Los recursos desactivados en la plataforma no aparecen aquí.
  • No forman parte de esta API: configuraciones, parámetros, integraciones, IA, contraseñas y usuarios del panel.
  • Formato: JSON, fechas con zona horaria (ISO 8601), valores con punto y 2 decimales, peso en kg y medidas en cm.
  • Cada envío de productos queda registrado en el panel de la empresa, con lo que cambió en cada ítem.

Referencia técnica

Actualizado el 10/10/2026

  • Swagger: todos los campos, tipos y respuestas, con prueba en el navegador.
  • Postman: las llamadas listas; complete token en las variables.
  • OpenAPI (JSON): para generar un cliente, importar en otra herramienta o entregar a un agente de IA.