Pular para o conteúdo

Sua loja, ligada ao que você já usa.

Tudo que a loja faz no painel, um sistema seu também faz: pela API, por avisos automáticos ou conversando com um assistente de IA conectado à loja.

API e assistentes de IA em todos os planos, inclusive no grátis.

Pedido

curl https://app.simplese.com.br/api/v1/produtos?perPage=1 \
  -H "Authorization: Bearer smp_int_..."

Resposta

{
  "data": [
    {
      "id": "prd_01J8ZQ...",
      "name": "Camiseta básica preta",
      "sku": "CAM-001",
      "status": "ativo",
      "price": 59.9,
      "promoPrice": null,
      "tags": ["verão"]
    }
  ],
  "meta": { "page": 1, "perPage": 1, "total": 128, "totalPages": 128 }
}

O que dá para construir

  • Sincronizar com o ERP

    Leve pedidos pagos para o seu sistema e traga de volta preço e estoque.

  • Importar o catálogo

    Cadastre centenas de produtos de uma planilha ou de outro sistema, com fotos por URL.

  • Avisar a equipe

    Dispare uma mensagem no canal do time quando entra pedido ou o estoque chega ao mínimo.

  • Montar um painel próprio

    Puxe receita, ticket médio e contas a receber para o relatório que a sua empresa usa.

  • Perguntar ao assistente

    “Quanto vendi esta semana?” ou “o que está sem estoque?”, respondido com os dados da loja.

  • Dar acesso sob medida

    Um token só de leitura para o contador, outro que edita o catálogo para a agência.

Começar em três passos

  1. 1

    Abra Desenvolvedores

    No painel, em Ajustes → Configurações → Desenvolvedores.

  2. 2

    Gere um token

    Escolha, por área, o que ele pode ler e o que pode alterar.

  3. 3

    Faça a primeira chamada

    Envie o token no cabeçalho, ou conecte um assistente pelo MCP.

curl "https://app.simplese.com.br/api/v1/pedidos?status=confirmado" \
  -H "Authorization: Bearer smp_int_SEU_TOKEN"

Prefere importar tudo de uma vez? O arquivo OpenAPI abre no Postman, no Insomnia e em geradores de cliente.

Autenticação

Toda chamada leva Authorization: Bearer <token>. O token começa com smp_int_, aparece uma única vez ao ser criado e vale por 30 dias, 90 dias ou 1 ano.

  • Nunca pode mais que quem o criou

    Se o acesso da pessoa diminuir, o do token diminui junto, na hora.

  • Não move dinheiro

    A Conta Digital é só leitura para qualquer token: saldo e extrato.

  • Revogar é imediato

    Na mesma tela em que o token foi criado, com a data do último uso.

  • O plano da loja vale para o token

    Um recurso que o plano não inclui responde 403 também pela API.

Assistentes de IA (MCP)

A Simplese tem um servidor MCP: o padrão que o Claude, o ChatGPT e outros assistentes usam para agir em sistemas de fora. Conectado, o assistente consulta e altera a loja a pedido seu, dentro do que você liberar.

Endereço do servidor MCP

https://app.simplese.com.br/api/mcp
  1. Abra Configurações → Conectores → Adicionar conector personalizado.
  2. Cole o endereço acima e confirme.
  3. O Claude abre a Simplese: entre, escolha o que liberar e autorize.

O que pedir depois de conectar

  • “Quais pedidos estão aguardando pagamento?”
  • “Liste os produtos com estoque abaixo de 5 unidades.”
  • “Cadastre a camiseta básica preta por R$ 59,90, com 20 em estoque.”
  • “Quanto tenho a receber nos próximos 15 dias?”
  • “Quem são meus cinco melhores clientes do mês?”

As 32 ferramentas

O assistente só enxerga as que a permissão concedida alcança. As que alteram dados vêm marcadas, para o assistente pedir a sua confirmação antes de usar.

FerramentaO que fazTipo
loja_situacaoComece por aqui. Diz o que já está pronto e o que falta para a loja vender: passos de ativação, dados da empresa, frete, atendimento, catálogo e vitrine, com a ferramenta que resolve cada pendência.Leitura
empresa_verCadastro da empresa, endereço de saída dos pedidos, canais de atendimento, frete grátis e parcelamento.Leitura
empresa_consultar_cnpjBusca razão social, nome fantasia, situação e endereço de um CNPJ. Use antes de empresa_salvar, para o lojista só conferir em vez de ditar.Leitura
empresa_salvarGrava o cadastro da empresa. Só o que for enviado muda. Com endereço, também atualiza de onde os pedidos saem (frete), a menos que usarNoFrete venha false.Altera
loja_configurar_atendimentoGrava o que a vitrine promete ao cliente: canais de atendimento, valor mínimo para frete grátis e parcelas sem juros. São compromissos comerciais: só grave o que o lojista disse.Altera
categorias_listarO ramo da loja e as categorias, marcas e coleções já usadas. Consulte antes de cadastrar produtos, para reaproveitar os nomes.Leitura
loja_verO rascunho da loja: endereço, tema e as páginas com as seções de cada uma (com os ids que loja_montar usa).Leitura
loja_montarMonta ou altera uma página da loja e o tema, no rascunho. Em `secoes` mande a página INTEIRA na ordem final: seção existente que não for listada é removida. Nada vai ao ar até loja_publicar. Não afirme frete grátis, prazo, garantia nem desconto que o lojista não tenha dito.Altera
loja_publicarLeva o rascunho da loja ao ar, no endereço público. Só chame depois de o lojista dizer que pode publicar.Altera
conteudo_listarAs coleções de conteúdo da loja (artigos, páginas, perguntas frequentes) e o que já foi escrito em cada uma.Leitura
conteudo_criarCria um conteúdo numa coleção (veja os ids em conteudo_listar) já com o texto. Fica como rascunho, a menos que `publicar` venha true.Altera
conteudo_escreverAltera título, resumo, tags ou o texto de um conteúdo que já existe. Só o que for enviado muda. Imagem e vídeo do lojista ficam: repita o id do bloco para mantê-lo no lugar.Altera
cupom_criarCria um cupom de desconto. Confirme código, valor e validade com o lojista antes.Altera
link_de_pagamento_criarCria um link para cobrar sem loja: o lojista manda o endereço ao cliente. Devolve a `url`.Altera
vendas_resumoNúmeros da loja no período: receita, pedidos, ticket médio, série diária, produtos e clientes que mais compraram e alertas de estoque.Leitura
produtos_listarLista os produtos do catálogo, com busca por nome ou SKU e filtro por situação.Leitura
produto_detalharDevolve um produto completo: preço, variantes, imagens, estoque e dados fiscais.Leitura
produto_criarCadastra um produto. Nasce como rascunho, a menos que `status` venha como `ativo`. Categoria, marca e coleção são criadas pelo nome se ainda não existirem. A imagem entra por endereço https.Altera
produto_atualizarAltera campos de um produto: nome, descrição, preço, promoção, situação. Só o que for enviado muda.Altera
estoque_consultarSaldo de cada variante em cada local de estoque, e a lista de locais.Leitura
estoque_movimentarLança entrada, saída ou ajuste de estoque. No ajuste, `quantity` é o saldo final desejado.Altera
pedidos_listarLista pedidos, com busca e filtro por situação ou cliente.Leitura
pedido_detalharDevolve um pedido completo: itens, valores, pagamento, entrega e histórico.Leitura
clientes_listarLista clientes, com busca por nome, e-mail, telefone ou documento.Leitura
cliente_detalharCadastro do cliente com o histórico de compras e as anotações.Leitura
cliente_criarCadastra um cliente.Altera
financeiro_a_receberLista o que a loja tem a receber, por situação e período de vencimento.Leitura
financeiro_a_pagarLista o que a loja tem a pagar, por situação e período de vencimento.Leitura
financeiro_fluxo_de_caixaProjeção de entradas e saídas dia a dia, com o resumo financeiro da loja.Leitura
cupons_listarCupons de desconto da loja, com uso e validade.Leitura
searchBusca produtos da loja por texto. Devolve id, título e link de cada resultado.Leitura
fetchDevolve o conteúdo completo de um resultado de `search`, pelo id.Leitura

Referência da API

Endereço base: https://app.simplese.com.br/api/v1. Envie e receba JSON. A resposta traz o resultado em data; listas trazem também meta com page, perPage, total e totalPages. Valores em dinheiro são números em reais.

  • GET/produtos

    Lista os produtos.

    Permissão: product.product.read

    q
    (consulta, texto) Busca por nome, SKU ou código de barras.
    status
    (consulta, rascunho | ativo | arquivado) Filtra pela situação.
    sort
    (consulta, recentes | nome | preco | estoque) Ordenação.
    page
    (consulta, inteiro) Página, a partir de 1.
    perPage
    (consulta, inteiro) Itens por página, até 100 (padrão 25).
  • POST/produtos

    Cria um produto. Nasce como rascunho.

    Permissão: product.product.create

    name *
    (corpo, texto) Nome do produto.
    price
    (corpo, número) Preço em reais.
    sku
    (corpo, texto) Código interno.
    status
    (corpo, rascunho | ativo) Situação inicial.
    initialStock
    (corpo, inteiro) Saldo inicial em estoque.
    images
    (corpo, lista de { url, label }) Imagens já hospedadas.
  • GET/produtos/{id}

    Devolve um produto completo.

    Permissão: product.product.read

    id *
    (caminho, texto) Id do produto.
  • PATCH/produtos/{id}

    Altera os campos enviados.

    Permissão: product.product.update

    id *
    (caminho, texto) Id do produto.
    version
    (corpo, inteiro) Versão lida; recusa a gravação se o produto mudou depois.
  • DELETE/produtos/{id}

    Arquiva o produto. O histórico de vendas fica.

    Permissão: product.product.delete

    id *
    (caminho, texto) Id do produto.

* obrigatório.

Webhooks

A loja avisa o seu sistema quando algo acontece, com um POST em JSON para um endereço HTTPS público. Cadastre o endereço em Desenvolvedores, no painel, nos planos que incluem webhooks.

EventoQuando dispara
order.createdPedido criado
order.paidPedido pago
order.cancelledPedido cancelado
order.fulfillment_startedPedido em expedição
order.returnedPedido devolvido
product.createdProduto criado
product.updatedProduto alterado
product.archivedProduto arquivado
inventory.low_stockEstoque baixo
customer.createdCliente novo

Corpo de um aviso

{
  "id": "evt_01J8ZQ...",
  "type": "order.paid",
  "createdAt": "2026-10-06T14:32:10.000Z",
  "data": {
    // os dados do pedido, produto ou cliente
  }
}

Cada entrega leva três cabeçalhos: X-Simplese-Event, X-Simplese-Delivery e X-Simplese-Signature, no formato t=<unix>,v1=<hmac>. Confira a assinatura antes de confiar no corpo:

Conferindo a assinatura (Node.js)

import { createHmac, timingSafeEqual } from "node:crypto";

// v1 = HMAC-SHA256 de "<t>.<corpo>" com o segredo do endereço, em hexadecimal
const [t, v1] = cabecalho.split(",").map((parte) => parte.split("=")[1]);
const esperado = createHmac("sha256", SEGREDO).update(`${t}.${corpoCru}`).digest("hex");

const confere =
  v1.length === esperado.length && timingSafeEqual(Buffer.from(v1), Buffer.from(esperado));
  • Responda com status 2xx em até 10 segundos.
  • Entrega que falha é tentada de novo, até 6 vezes.
  • O endereço é pausado depois de 20 falhas seguidas, e você reativa no painel.
  • Use X-Simplese-Delivery para ignorar repetições.

Limites e erros

600 requisições por minuto por loja, somando API e MCP. Acima disso a resposta é 429, com Retry-After dizendo em quantos segundos tentar de novo.

StatusO que significa
400Dados inválidos. O campo fields diz o que corrigir.
401Token ausente, inválido, vencido ou revogado.
403O token não tem a permissão, ou o plano não inclui o recurso.
404O recurso não existe nesta loja.
409Conflito: o registro mudou depois que você leu.
429Limite de requisições atingido.

Todo erro vem neste formato

{
  "error": {
    "code": "FORBIDDEN",
    "message": "Você não tem permissão para esta ação.",
    "correlationId": "req_..."
  }
}

Informe o correlationId ao falar com o suporte: é por ele que achamos a sua chamada.

Dúvidas frequentes

Pronto para integrar?

Gere o token no painel e faça a primeira chamada em minutos. Ainda não tem loja? Crie uma grátis e teste à vontade.