Visão geral
Atualizado em 10/10/2026
Cada empresa cliente do Pense Chat tem o seu catálogo, o seu estoque e as suas vendas. Com esta API, outro sistema envia produtos, preços e estoque para a empresa, consulta os produtos e busca as vendas para dar baixa. As URLs são as mesmas para todas as empresas: é o token que diz de qual empresa é a chamada.
- Sistema de gestão (ERP) da empresa, que manda o catálogo e recebe as vendas.
- Automações no n8n, Make, Zapier ou Power Automate, por chamada HTTP.
- Assistentes de IA como ChatGPT e Claude, e agentes do n8n, pelo servidor MCP.
- Código próprio, em qualquer linguagem que faça uma chamada HTTP.
/api/integracao/produtosEnviar produtos, preços e estoque/api/integracao/produtosConsultar produtos, preço e estoque/api/integracao/vendasBuscar vendas, cancelamentos e devoluções/api/integracao/vendas/confirmacaoConfirmar o que foi lançado/api/integracao/mcpServidor MCP para IA e automaçõesEndereço base: https://www.pensechat.com.br
Autenticação
Atualizado em 10/10/2026
Todas as chamadas usam o cabeçalho Authorization com o token da conexão. Quem gera o token é a empresa, no painel do Pense Chat, em Configurações, aba Acesso por API, e manda para quem vai integrar.
Cada token tem as próprias permissões, marcadas pela empresa: ver produtos, editar produtos, ver vendas, confirmar vendas e usar o MCP. Ele também pode ter data de validade. Uma empresa pode ter vários tokens, um para cada sistema. Se um for trocado, o antigo para de funcionar na hora.
Authorization: Bearer SEU_TOKEN Content-Type: application/json
Para testar o token:
curl "https://www.pensechat.com.br/api/integracao/produtos?search=mouse&limit=1" \ -H "Authorization: Bearer SEU_TOKEN"
Se voltar 401, o token está errado, venceu ou a conexão foi desligada. Se voltar 403, o token não tem permissão para aquele recurso, ou a empresa não contratou um módulo com catálogo (Loja, Estoque ou PDV).
Formatos e padrões
Atualizado em 09/10/2026
Como cada tipo de dado deve ser enviado. Números vão sempre com ponto, como manda o padrão JSON; a loja mostra em formato brasileiro (R$ 149,90) para o cliente. Dado fora do formato é recusado com 422, e a mensagem diz o campo.
| Dado | Formato | Exemplo | Observação |
|---|---|---|---|
| Data e hora | ISO 8601 com fuso | 2026-10-09T10:05:00-03:00 | Sem fuso é recusado. A plataforma guarda em UTC e as respostas saem em UTC (terminam em Z). O horário de referência é o de Brasília (America/Sao_Paulo). |
| Dinheiro | Número com ponto, 2 casas, em reais | 149.90 | Sem R$, sem separador de milhar. Texto como "149,90" é recusado. Mais de 2 casas são arredondadas. |
| Estoque e quantidade | Número, até 4 casas | 18 ou 2.5 | Fração só para produto vendido por peso ou medida (kg, m, l). |
| Peso | Número em kg, até 3 casas | 0.250 | 250 gramas são 0.250. |
| Medidas | Número em cm, até 2 casas | 17.5 | Altura, largura e comprimento da embalagem. |
| Códigos | Texto ou número inteiro | "7120" ou 7120 | product_code, variant_code e store_code. Número vira texto: 7120 e "7120" são o mesmo código. |
| SKU | Texto, até 60 caracteres | 7120-1 | Obrigatório em toda grade. |
| Código de barras (ean) | Texto, até 14 dígitos | 7891234567895 | Pode vir null. |
| Textos | UTF-8, com acentos | Mouse sem fio, preto | internal_name até 200 caracteres; internal_description até 20.000. |
| Verdadeiro ou falso | true ou false, sem aspas | true | Usado em is_active e pickup_in_store. |
| Unidade de venda | Uma da lista | un | un, kg, g, m, m2, l, cx, par. |
| Valor ausente | null ou campo omitido | null | Quer dizer "não informado": nunca apaga o que já está na plataforma. |
| Id da plataforma | Número inteiro | 1532 | No envio você não precisa dele: use os seus códigos. Ele volta na consulta e nas vendas, em product_id e variant_id. |
| Mensagens | Português (pt-BR) | Os campos e os códigos de erro são em inglês; as mensagens para a pessoa ler, em português. |
Nomes e códigos
Atualizado em 09/10/2026
Na plataforma, quem identifica o produto é o id, um número que nunca muda. Os seus códigos vão junto em toda resposta, para você comparar com o seu sistema.
| Campo | O que é | Quem define | Onde aparece |
|---|---|---|---|
| product_code | Código do produto no seu sistema. | Seu sistema, no envio. Se mudar, vira outro produto. | Envio, consulta e vendas. |
| variant_code | Código da grade no seu sistema. null no produto sem grade. | Seu sistema, no envio. | Envio, consulta e vendas. |
| sku | SKU da grade. | Seu sistema, no envio. Pode mudar: o antigo continua achando a grade. | Envio, consulta e vendas. |
| ean | Código de barras. | Seu sistema, no envio. | Envio, consulta e vendas. |
| product_id | Id do produto na plataforma. Nunca muda. | A plataforma, ao criar o produto. | Consulta e vendas. |
| variant_id | Id da grade na plataforma. | A plataforma, ao criar a grade. | Consulta e vendas. |
| online_code | Código do produto na plataforma. | No produto que nasce pelo envio, sai do seu product_code. No cadastrado no painel, é o que a empresa escolheu. | Consulta e vendas. |
| internal_name | Nome interno, como está no seu sistema. | Seu sistema, no envio. Atualizado a cada envio. | Envio, consulta e vendas. |
| internal_description | Descrição interna, como está no seu sistema. | Seu sistema, no envio. Atualizada a cada envio. | Envio. |
| commercial_name | Nome comercial, o que o cliente vê na loja. | A empresa, no painel. O envio nunca muda. | Consulta e vendas. Nas vendas vem com a grade, como "Mouse Gamer, Preto". |
Exemplo: o mouse 7120 do seu sistema vira na plataforma o produto 1532. Ele volta como product_id 1532 e product_code 7120. Produto cadastrado direto no painel vem com product_code null até a empresa informar o código do seu sistema no cadastro do produto. No produto novo, o nome e a descrição comerciais começam iguais aos internos, e daí em diante são da empresa.
Como começar
Atualizado em 09/10/2026
- Peça o token à empresa. Ela gera no painel, marca as permissões que você vai usar e manda o token para você. Ele aparece uma vez só.
- Teste com produtos novos. Envie 2 ou 3 produtos que ainda não estão na plataforma. Eles entram como rascunho e o cliente não vê.
- Confira o resultado. A resposta mostra o que foi criado, atualizado ou recusado. A empresa também vê cada envio no painel, campo a campo.
- Envie a carga completa. Todos os produtos da empresa, com
load_type: "full", em lotes de até 2000 grades. - Depois, só o que mudar. Use
load_type: "incremental"e envie os produtos alterados e os novos.
Enviar produtos, preços e estoque
Atualizado em 09/10/2026
Envie os produtos no corpo da chamada POST /api/integracao/produtos. A resposta já traz o resultado.
Como o produto é identificado
- Pelo
product_codejunto com ovariant_code, que são os códigos do seu sistema. - Se só o SKU mudar, continua sendo o mesmo produto.
- Se o
product_codemudar, vira outro produto. - Produto sem grade vai com um item em
variantsevariant_codenull.
Nome interno e nome comercial
- Envie o nome e a descrição do seu sistema em
internal_nameeinternal_description. Eles são atualizados a cada envio. Quem já envianameedescriptionpode continuar: valem como os internos. - O nome e a descrição comerciais, os que o cliente vê na loja, são feitos pela empresa. No produto novo eles começam iguais aos internos, e a empresa ajusta no painel. O seu envio nunca muda o nome comercial.
- O nome da grade (
variants[].name, como "Preto") segue a mesma regra do nome comercial.
O que é atualizado
- A cada envio: preço, promoção, custo, estoque, código de barras, SKU, ativo, nome e descrição internos.
- Só quando o produto é criado: categoria, marca, peso e medidas. Depois disso, quem cuida é a empresa.
- Campo vazio ou
nullnão apaga nada. is_active: falseno produto tira da loja o produto inteiro, com todas as grades. Numa grade, tira só ela: no mouse em Preto, Branco e Azul, desativar o Azul deixa o Preto e o Branco à venda.- Produto que não vem no envio é porque não mudou, e fica como está.
Estoque
stock.on_hand é o estoque que o seu sistema tem. A venda feita na plataforma baixa o estoque na hora; enquanto ela não for lançada no seu sistema, a plataforma desconta essa venda do número que você mandar. Exemplo: tinha 6, vendeu 3 na loja física e 3 na loja virtual. O seu sistema manda 3, e a plataforma fica com 0. Depois que a venda é lançada no seu sistema e confirmada, o desconto acaba.
Exemplo
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
}
}
]
}
]
}Resposta
{
"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 vem como processed (tudo certo) ou processed_with_errors (algum item recusado). Um item recusado não impede os outros.
Regras
- Obrigatórios:
store_code(o código da loja da empresa, normalmente"matriz"),generated_at, e em cada itemproduct_codeesku. O que o seu sistema não tiver, envienull: a empresa completa no painel. - Até 2000 itens de
variantspor envio e 120 envios por hora por token. Qualquer chamada, inclusive pelo MCP, tem o teto de 120 por minuto por token. - Se precisar reenviar, use o mesmo
Idempotency-Key: o envio não é processado duas vezes.
Consultar produtos
Atualizado em 09/10/2026
Busque por product_code, sku ou search (parte do nome, o id ou o código na plataforma). A resposta mostra o nome comercial (commercial_name), o nome do seu sistema (internal_name), o preço, o preço atual com promoção e o estoque disponível de cada grade. É a consulta ideal para um assistente de IA responder "tem o produto X? quanto custa?".
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
}
]
}
]
}Vendas
Atualizado em 09/10/2026
Funciona em três passos: buscar as vendas, lançar no seu sistema e confirmar. O que foi confirmado sai da lista; o que não foi volta na próxima busca.
Entram as vendas feitas a partir do dia em que a empresa ligou a integração. Vendas anteriores não aparecem aqui.
1. Buscar
Retorna até 100 documentos ainda não confirmados, dos mais antigos para os mais novos: sale (venda paga), cancel (cancelamento de venda já confirmada) e return (devolução concluída). Buscar não altera nada.
Cada item vem com product_id e variant_id (o id na plataforma), online_code (o código na plataforma), product_code e variant_code (os seus códigos), internal_name (o nome no seu sistema) e commercial_name (o nome comercial que o cliente viu).
Entrega, retirada e canal
channel:siteé venda pela loja virtual;posé venda no balcão (PDV).pickup_in_store: false: entrega. O endereço de entrega vem emcustomer(CEP, rua, número, complemento, bairro, cidade e UF) e o frete emshipping_cost.pickup_in_store: true: retirada na loja. O endereço vem vazio (null) e o frete é zero.
Formas de pagamento
Cada venda traz a lista payments, com uma linha por forma usada: uma venda pode ser paga parte em dinheiro e parte no cartão. installments é o número de parcelas. O method_code é o código da forma de pagamento no cadastro da empresa. Estes são os códigos padrão da plataforma; a empresa pode cadastrar outros:
| method_code | Forma | Parcela |
|---|---|---|
| pix | PIX | Não |
| cartao_credito | Cartão de crédito | Sim |
| cartao_debito | Cartão de débito | Não |
| boleto | Boleto | Não |
| transferencia | Transferência | Não |
| dinheiro | Dinheiro | Não |
O exemplo abaixo traz uma venda com Pix e entrega, uma com cartão de crédito em 3 vezes e retirada na loja, uma de balcão paga em dinheiro e débito, um cancelamento e uma devolução.
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
Envie cada documento que você lançou. processed tira da lista; rejected mantém e mostra o motivo para a empresa no 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, a resposta diz: saved (registrado), already_confirmed (já estava confirmado), not_found (número não existe) ou not_due (ainda não pode ser confirmado, como venda não paga).
Onde usar
Atualizado em 09/10/2026
A API é HTTP com JSON e um token no cabeçalho, então funciona em qualquer ferramenta que faça uma chamada HTTP. Abaixo, o caminho nas mais usadas.
Sistema de gestão (ERP)
O fluxo de sempre: de tempos em tempos (a cada 5 ou 10 minutos, por exemplo), o seu sistema envia os produtos que mudaram, busca as vendas novas, lança do lado dele e confirma. Use a coleção do Postman para ver cada chamada pronta antes de programar.
n8n
- Para automação comum, use o nó HTTP Request. Em Authentication, escolha Generic Credential Type e Header Auth, com Name
Authorizatione ValueBearer SEU_TOKEN. - Method
GETe URLhttps://www.pensechat.com.br/api/integracao/vendaspara buscar as vendas; methodPOST, URLhttps://www.pensechat.com.br/api/integracao/produtose Body Content Type JSON para enviar produtos. - Para um agente de IA no n8n, use o nó MCP Client Tool, como está na seção do MCP abaixo.
Make
- Use o módulo HTTP > Make a request.
- URL: o endereço da chamada, como
https://www.pensechat.com.br/api/integracao/vendas. Method:GETouPOST. - Em Headers, adicione
Authorizationcom o valorBearer SEU_TOKEN. No POST, Body type Raw, Content type JSON (application/json).
Zapier
- Use a ação Webhooks by Zapier > Custom Request.
- Method e URL da chamada, como
GETehttps://www.pensechat.com.br/api/integracao/vendas. - Em Headers,
AuthorizationcomBearer SEU_TOKENe, no POST,Content-Typecomapplication/json.
Assistentes de IA e LLMs
Para ChatGPT, Claude, agentes do n8n e qualquer cliente MCP, use o servidor MCP: o assistente vê as ferramentas que o token libera e chama sozinho. Os passos estão na seção do MCP.
Agentes que leem OpenAPI, como as ações de um GPT personalizado, podem importar a especificação de https://www.pensechat.com.br/api/integracao/openapi.json e usar autenticação Bearer com o token.
Código próprio
Qualquer linguagem serve. Os exemplos abaixo buscam as vendas em JavaScript e em 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 via MCP
Atualizado em 10/10/2026
MCP é um padrão para ligar sistemas a assistentes de IA. Com ele, o ChatGPT, o Claude, o n8n e outros podem consultar produtos, estoque e vendas da empresa usando o mesmo token da API, com as mesmas permissões.
Ferramentas disponíveis:
enviar_produtos: Enviar produtos, preços e estoqueconsultar_produtos: Consultar produtos, preço e estoquebuscar_vendas: Buscar vendas, cancelamentos e devoluçõesconfirmar_vendas: Confirmar o que foi lançado
Duas formas de conectar
| Forma | Endereço | Use em |
|---|---|---|
| URL com o token | https://www.pensechat.com.br/api/integracao/mcp/SEU_TOKEN | ChatGPT, Claude (site e aplicativo) e qualquer sistema que só pede a URL do servidor. |
| URL + cabeçalho | https://www.pensechat.com.br/api/integracao/mcp | n8n e plataformas que aceitam o cabeçalho Authorization: Bearer SEU_TOKEN. |
A URL com o token aparece no painel da empresa, ao criar ou trocar o token. Guarde como se fosse uma senha.
ChatGPT
- Em Settings > Apps & Connectors > Advanced settings, ligue o Developer mode.
- Em Apps & Connectors, clique em Create.
- Nome:
Pense Chat. MCP Server URL:https://www.pensechat.com.br/api/integracao/mcp/SEU_TOKEN. Authentication: No authentication. - Salve e, numa conversa, ative o conector
Pense Chat.
Claude (site e aplicativo)
- Em Configurações > Conectores, clique em Adicionar conector personalizado.
- Nome:
Pense Chat. URL do servidor MCP remoto:https://www.pensechat.com.br/api/integracao/mcp/SEU_TOKEN.
n8n
Nó MCP Client Tool, ligado a um agente de IA:
- Endpoint:
https://www.pensechat.com.br/api/integracao/mcp - Server Transport:
HTTP Streamable - Authentication:
Header Auth, NameAuthorization, ValueBearer SEU_TOKEN
Outros sistemas
Se o sistema aceita servidor MCP remoto, cadastre a URL com o token. Se ele pedir o tipo de conexão, escolha HTTP. Sistemas que não usam MCP, como Pipedrive, Conta Azul ou Bling, podem usar a API desta página ou o n8n como ponte.
Testar sem nenhuma ferramenta
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"}'O token e a URL com o token dão acesso aos dados da empresa. Não compartilhe. Se vazar, a empresa gera outro no painel e o antigo para de funcionar na hora.
Erros
Atualizado em 09/10/2026
Os erros voltam como { "code": "...", "message": "..." }. O code é fixo, para o seu sistema tratar; a message explica em português.
| HTTP | code | Quando |
|---|---|---|
| 400 | invalid_json | O corpo não é um JSON válido. |
| 401 | unauthorized | Token errado, conexão desligada pela empresa ou empresa desativada. |
| 401 | token_expired | O token venceu. Peça um novo para a empresa. |
| 403 | forbidden | O token não tem permissão para este recurso. |
| 403 | module_not_contracted | A empresa não contratou um módulo com catálogo (Loja, Estoque ou PDV). |
| 404 | resource_disabled | Este recurso está desligado na plataforma. |
| 413 | too_large | Mais de 2000 itens de variants. Divida o envio. |
| 422 | validation_failed | Formato errado. A mensagem diz o campo. |
| 429 | rate_limited | Mais de 120 envios na última hora, ou mais de 120 chamadas no último minuto. Espere o tempo do Retry-After. |
| 500 | Falha da plataforma. Reenvie com o mesmo Idempotency-Key. |
Regras
Atualizado em 09/10/2026
- Todas as chamadas usam o cabeçalho Authorization: Bearer TOKEN. O token é gerado pela empresa no painel, com permissões próprias e, se ela quiser, data de validade.
- Um token alcança só a empresa que o gerou. Não existe chamada que atravesse empresas.
- Nada é apagado. Para tirar algo da loja, desative com is_active false. Não existe chamada de exclusão.
- Pela API dá para enviar produtos, preços e estoque, consultar produtos e buscar e confirmar vendas. Recursos desligados na plataforma não aparecem aqui.
- Não fazem parte desta API: configurações, parâmetros, integrações, IA, senhas e usuários do painel.
- Formato: JSON, datas com fuso (ISO 8601), valores com ponto e 2 casas, peso em kg e medidas em cm.
- Cada envio de produtos fica registrado no painel da empresa, com o que mudou em cada item.
Referência técnica
Atualizado em 10/10/2026
- Swagger: todos os campos, tipos e respostas, com teste no navegador.
- Postman: as chamadas prontas; preencha
tokennas variáveis. - OpenAPI (JSON): para gerar cliente, importar em outra ferramenta ou dar a um agente de IA.