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.
/api/integracao/produtosEnviar productos, precios e inventario/api/integracao/produtosConsultar productos, precio e inventario/api/integracao/vendasObtener ventas, cancelaciones y devoluciones/api/integracao/vendas/confirmacaoConfirmar lo que se registró/api/integracao/mcpServidor MCP para IA y automatizacionesDirecció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:
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.
| Dato | Formato | Ejemplo | Observación |
|---|---|---|---|
| Fecha y hora | ISO 8601 con zona horaria | 2026-10-09T10:05:00-03:00 | Sin 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). |
| Dinero | Número con punto, 2 decimales, en reales | 149.90 | Sin símbolo de moneda ni separador de miles. Un texto como "149,90" se rechaza. Los decimales de más se redondean. |
| Inventario y cantidad | Número, hasta 4 decimales | 18 o 2.5 | Fracciones solo para productos vendidos por peso o medida (kg, m, l). |
| Peso | Número en kg, hasta 3 decimales | 0.250 | 250 gramos son 0.250. |
| Medidas | Número en cm, hasta 2 decimales | 17.5 | Alto, ancho y largo del paquete. |
| Códigos | Texto o número entero | "7120" o 7120 | product_code, variant_code y store_code. El número se vuelve texto: 7120 y "7120" son el mismo código. |
| SKU | Texto, hasta 60 caracteres | 7120-1 | Obligatorio en cada variante. |
| Código de barras (ean) | Texto, hasta 14 dígitos | 7891234567895 | Puede ser null. |
| Textos | UTF-8, con acentos | Mouse sem fio, preto | internal_name hasta 200 caracteres; internal_description hasta 20.000. |
| Verdadero o falso | true o false, sin comillas | true | Se usa en is_active y pickup_in_store. |
| Unidad de venta | Una de la lista | un | un, kg, g, m, m2, l, cx, par. |
| Valor ausente | null o campo omitido | null | Significa "no informado": nunca borra lo que ya está en la plataforma. |
| Id de la plataforma | Número entero | 1532 | No lo necesita para enviar: use sus códigos. Vuelve en la consulta y en las ventas, en product_id y variant_id. |
| Mensajes | Portugué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.
| Campo | Qué es | Quién lo define | Dónde aparece |
|---|---|---|---|
| product_code | Código del producto en su sistema. | Su sistema, en el envío. Si cambia, es otro producto. | Envío, consulta y ventas. |
| variant_code | Código de la variante en su sistema. null en producto sin variantes. | Su sistema, en el envío. | Envío, consulta y ventas. |
| sku | SKU de la variante. | Su sistema, en el envío. Puede cambiar: el anterior sigue encontrando la variante. | Envío, consulta y ventas. |
| ean | Código de barras. | Su sistema, en el envío. | Envío, consulta y ventas. |
| product_id | Id del producto en la plataforma. Nunca cambia. | La plataforma, al crear el producto. | Consulta y ventas. |
| variant_id | Id de la variante en la plataforma. | La plataforma, al crear la variante. | Consulta y ventas. |
| online_code | Có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_name | Nombre interno, como está en su sistema. | Su sistema, en el envío. Se actualiza en cada envío. | Envío, consulta y ventas. |
| internal_description | Descripción interna, como está en su sistema. | Su sistema, en el envío. Se actualiza en cada envío. | Envío. |
| commercial_name | Nombre 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
- 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.
- 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.
- 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.
- Envíe la carga completa. Todos los productos de la empresa, con
load_type: "full", en lotes de hasta 2000 variantes. - 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_codejunto convariant_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
variantsyvariant_codenull.
Nombre interno y nombre comercial
- Envíe el nombre y la descripción de su sistema en
internal_nameyinternal_description. Se actualizan en cada envío. Si ya envíanameydescription, 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
nullno borra nada. is_active: falseen 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
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
{
"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
{
"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_aty, en cada ítem,product_codeysku. Lo que su sistema no tenga, envíelo comonull: la empresa lo completa en el panel. - Hasta 2000 ítems de
variantspor 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?".
curl "https://www.pensechat.com.br/api/integracao/produtos?product_code=7120" \ -H "Authorization: Bearer SEU_TOKEN"
{
"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:sitees una venta en la tienda en línea;poses una venta en el mostrador (PDV).pickup_in_store: false: entrega. La dirección de entrega viene encustomer(código postal, calle, número, complemento, barrio, ciudad y estado) y el flete enshipping_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_code | Forma | Cuotas |
|---|---|---|
| pix | PIX | No |
| cartao_credito | Cartão de crédito | Sí |
| cartao_debito | Cartão de débito | No |
| boleto | Boleto | No |
| transferencia | Transferência | No |
| dinheiro | Dinheiro | No |
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.
curl "https://www.pensechat.com.br/api/integracao/vendas" \ -H "Authorization: Bearer SEU_TOKEN"
{
"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.
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
{
"documents": [
{
"type": "sale",
"number": "100245",
"status": "processed"
},
{
"type": "sale",
"number": "100246",
"status": "rejected",
"message": "Produto 7120-9 não cadastrado."
}
]
}{
"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
- Para una automatización común, use el nodo HTTP Request. En Authentication, elija Generic Credential Type y Header Auth, con Name
Authorizationy ValueBearer SEU_TOKEN. - Method
GETy URLhttps://www.pensechat.com.br/api/integracao/vendaspara obtener las ventas; methodPOST, URLhttps://www.pensechat.com.br/api/integracao/produtosy Body Content Type JSON para enviar productos. - Para un agente de IA en n8n, use el nodo MCP Client Tool, como en la sección de MCP abajo.
Make
- Use el módulo HTTP > Make a request.
- URL: la dirección de la llamada, como
https://www.pensechat.com.br/api/integracao/vendas. Method:GEToPOST. - En Headers, agregue
Authorizationcon el valorBearer SEU_TOKEN. En el POST, Body type Raw, Content type JSON (application/json).
Zapier
- Use la acción Webhooks by Zapier > Custom Request.
- Method y URL de la llamada, como
GETyhttps://www.pensechat.com.br/api/integracao/vendas. - En Headers,
AuthorizationconBearer SEU_TOKENy, en el POST,Content-Typeconapplication/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:
const resposta = await fetch("https://www.pensechat.com.br/api/integracao/vendas", {
headers: { Authorization: "Bearer SEU_TOKEN" },
});
const { documents } = await resposta.json();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 inventarioconsultar_produtos: Consultar productos, precio e inventariobuscar_vendas: Obtener ventas, cancelaciones y devolucionesconfirmar_vendas: Confirmar lo que se registró
Dos formas de conectar
| Forma | Dirección | Use en |
|---|---|---|
| URL con el token | https://www.pensechat.com.br/api/integracao/mcp/SEU_TOKEN | ChatGPT, Claude (web y aplicación) y cualquier sistema que solo pide la URL del servidor. |
| URL + encabezado | https://www.pensechat.com.br/api/integracao/mcp | n8n 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
- En Settings > Apps & Connectors > Advanced settings, active el Developer mode.
- En Apps & Connectors, haga clic en Create.
- Nombre:
Pense Chat. MCP Server URL:https://www.pensechat.com.br/api/integracao/mcp/SEU_TOKEN. Authentication: No authentication. - Guarde y, en una conversación, active el conector
Pense Chat.
Claude (web y aplicación)
- En Configuración > Conectores, haga clic en Agregar conector personalizado.
- 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, NameAuthorization, ValueBearer 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
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.
| HTTP | code | Cuándo |
|---|---|---|
| 400 | invalid_json | El cuerpo no es un JSON válido. |
| 401 | unauthorized | Token incorrecto, conexión desactivada por la empresa o empresa desactivada. |
| 401 | token_expired | El token venció. Pida uno nuevo a la empresa. |
| 403 | forbidden | El token no tiene permiso para este recurso. |
| 403 | module_not_contracted | La empresa no contrató un módulo con catálogo (Tienda, Inventario o PDV). |
| 404 | resource_disabled | Este recurso está desactivado en la plataforma. |
| 413 | too_large | Más de 2000 ítems de variants. Divida el envío. |
| 422 | validation_failed | Formato incorrecto. El mensaje indica el campo. |
| 429 | rate_limited | Má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. |
| 500 | Falla 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
tokenen las variables. - OpenAPI (JSON): para generar un cliente, importar en otra herramienta o entregar a un agente de IA.