{
  "tipos": {
    "novo": "Novo",
    "alterado": "Alterado",
    "corrigido": "Corrigido",
    "descontinuado": "Descontinuado",
    "removido": "Removido",
    "seguranca": "Segurança"
  },
  "releases": [
    {
      "versao": "v1",
      "data": null,
      "titulo": "Primeira versão",
      "resumo": "A API completa para o sistema do parceiro: catálogo e estoque, clientes, pedidos, financeiro, etiquetas e a loja no HUB, com webhooks e um ambiente de testes.",
      "mudancas": [
        {
          "tipo": "novo",
          "area": "Autenticação",
          "texto": "Integrações com token de acesso, criadas pelo parceiro no painel.",
          "acao": null,
          "quebra": false,
          "link": "https://docs.otlshoes.com.br/autenticacao/integracoes"
        },
        {
          "tipo": "novo",
          "area": "Autenticação",
          "texto": "Permissões por integração, dentro do teto liberado pela OTL.",
          "acao": null,
          "quebra": false,
          "link": "https://docs.otlshoes.com.br/permissoes"
        },
        {
          "tipo": "novo",
          "area": "Autenticação",
          "texto": "Versão nova dos Termos de Uso da API: prazo de 7 dias para o parceiro aceitar, com o cabeçalho `Aviso-Termos-Api` durante o prazo e `403 TERMOS_API_PENDENTES` depois dele.",
          "acao": null,
          "quebra": false,
          "link": "https://docs.otlshoes.com.br/autenticacao/token"
        },
        {
          "tipo": "novo",
          "area": "Autenticação",
          "texto": "A OTL pode suspender uma integração específica: ela responde `403 INTEGRACAO_SUSPENSA` até ser religada, e as outras do parceiro seguem funcionando.",
          "acao": null,
          "quebra": false,
          "link": "https://docs.otlshoes.com.br/erros#INTEGRACAO_SUSPENSA"
        },
        {
          "tipo": "novo",
          "area": "Rotas",
          "texto": "`GET /v1/eu` e `GET /v1/conta`.",
          "acao": null,
          "quebra": false,
          "link": "https://docs.otlshoes.com.br/referencia/conta/eu"
        },
        {
          "tipo": "novo",
          "area": "Rotas",
          "texto": "`GET /v1/produtos`, com paginação por cursor e sincronização por `atualizadoDesde`; `GET /v1/produtos/{sku}` e `…/estoque`.",
          "acao": null,
          "quebra": false,
          "link": "https://docs.otlshoes.com.br/referencia/produtos/listar"
        },
        {
          "tipo": "novo",
          "area": "Rotas",
          "texto": "`GET /v1/categorias` e `GET /v1/numeracoes`.",
          "acao": null,
          "quebra": false,
          "link": "https://docs.otlshoes.com.br/referencia/produtos/categorias"
        },
        {
          "tipo": "novo",
          "area": "Rotas",
          "texto": "`GET`, `POST`, `PATCH` e `DELETE` em `/v1/clientes` — a agenda de clientes do parceiro.",
          "acao": null,
          "quebra": false,
          "link": "https://docs.otlshoes.com.br/referencia/clientes/listar"
        },
        {
          "tipo": "novo",
          "area": "Rotas",
          "texto": "`GET /v1/pedidos` e `GET /v1/pedidos/{id}` — pedidos em leitura, com resultado, rastreios e anexos.",
          "acao": null,
          "quebra": false,
          "link": "https://docs.otlshoes.com.br/referencia/pedidos/listar"
        },
        {
          "tipo": "novo",
          "area": "Rotas",
          "texto": "`POST /v1/pedidos` — criar pedido, com `Idempotency-Key` obrigatória e `referenciaExterna` única por parceiro; `POST /v1/pedidos/validar` simula sem criar.",
          "acao": null,
          "quebra": false,
          "link": "https://docs.otlshoes.com.br/referencia/pedidos/criar"
        },
        {
          "tipo": "novo",
          "area": "Rotas",
          "texto": "Valor de venda, despesas, rastreios e comprovantes de um pedido.",
          "acao": null,
          "quebra": false,
          "link": "https://docs.otlshoes.com.br/referencia/pedidos/valor-venda"
        },
        {
          "tipo": "novo",
          "area": "Rotas",
          "texto": "`GET /v1/financeiro/saldo` e `GET /v1/financeiro/extrato`.",
          "acao": null,
          "quebra": false,
          "link": "https://docs.otlshoes.com.br/referencia/financeiro/saldo"
        },
        {
          "tipo": "novo",
          "area": "Rotas",
          "texto": "Etiquetas: `GET /v1/superfrete`, cotar, emitir (com `Idempotency-Key` obrigatória), listar e cancelar.",
          "acao": null,
          "quebra": false,
          "link": "https://docs.otlshoes.com.br/referencia/etiquetas/emitir"
        },
        {
          "tipo": "seguranca",
          "area": "Rotas",
          "texto": "Envio de arquivo: o formato é conferido pelo conteúdo, não pelo `Content-Type` declarado. PDF com script, arquivo embutido, formulário ou senha é recusado com `400 VALIDACAO`.",
          "acao": null,
          "quebra": false,
          "link": "https://docs.otlshoes.com.br/referencia/pedidos/anexos-enviar"
        },
        {
          "tipo": "novo",
          "area": "Rotas",
          "texto": "`/v1/loja-hub` — a loja do parceiro no HUB: configuração, publicar e despublicar, seleção de produtos, estatísticas, aparência, banners, logo e o texto próprio de cada produto.",
          "acao": null,
          "quebra": false,
          "link": "https://docs.otlshoes.com.br/referencia/loja-hub/ver"
        },
        {
          "tipo": "novo",
          "area": "Webhooks",
          "texto": "Avisos automáticos para um endereço do parceiro, assinados, com novas tentativas e histórico no painel.",
          "acao": null,
          "quebra": false,
          "link": "https://docs.otlshoes.com.br/webhooks"
        },
        {
          "tipo": "novo",
          "area": "Webhooks",
          "texto": "Eventos de produto: estoque, preço, nome, categorias, entrada e saída do catálogo.",
          "acao": null,
          "quebra": false,
          "link": "https://docs.otlshoes.com.br/webhooks/eventos"
        },
        {
          "tipo": "novo",
          "area": "Webhooks",
          "texto": "Mudança em massa no catálogo chega num aviso só, `produto.lote`, com a lista do que mudou em cada produto.",
          "acao": null,
          "quebra": false,
          "link": "https://docs.otlshoes.com.br/webhooks#mudança-em-massa-produtolote"
        },
        {
          "tipo": "novo",
          "area": "Webhooks",
          "texto": "Eventos de pedido: criado, status alterado, rastreio adicionado, comprovante validado.",
          "acao": null,
          "quebra": false,
          "link": "https://docs.otlshoes.com.br/webhooks/eventos"
        },
        {
          "tipo": "novo",
          "area": "Webhooks",
          "texto": "Eventos de etiqueta: emitida e status alterado (impressa, despachada, cancelada).",
          "acao": null,
          "quebra": false,
          "link": "https://docs.otlshoes.com.br/webhooks/eventos"
        },
        {
          "tipo": "novo",
          "area": "Webhooks",
          "texto": "Eventos de cliente: criado, atualizado, removido — com o resumo do cliente, sem contato nem endereço.",
          "acao": null,
          "quebra": false,
          "link": "https://docs.otlshoes.com.br/webhooks/eventos"
        },
        {
          "tipo": "novo",
          "area": "Webhooks",
          "texto": "Evento de financeiro: lançamento no saldo.",
          "acao": null,
          "quebra": false,
          "link": "https://docs.otlshoes.com.br/webhooks/eventos"
        },
        {
          "tipo": "novo",
          "area": "Sandbox",
          "texto": "Ambiente de testes com catálogo espelhado da produção; o token de teste é criado no painel oficial.",
          "acao": null,
          "quebra": false,
          "link": "https://docs.otlshoes.com.br/ambientes"
        },
        {
          "tipo": "novo",
          "area": "Sandbox",
          "texto": "Simuladores (`/v1/sandbox/…`): status do pedido e da etiqueta, validar comprovante e rastreio, lançamento no saldo, estoque de uma numeração e reset da conta.",
          "acao": null,
          "quebra": false,
          "link": "https://docs.otlshoes.com.br/simuladores"
        },
        {
          "tipo": "novo",
          "area": "Sandbox",
          "texto": "Webhooks de cada token de teste cadastrados no painel oficial; recebem também os eventos de produto das mudanças reais do catálogo.",
          "acao": null,
          "quebra": false,
          "link": "https://docs.otlshoes.com.br/webhooks"
        },
        {
          "tipo": "novo",
          "area": "Documentação",
          "texto": "Painel \"Testar agora\" em cada página de referência, chamando o ambiente de testes.",
          "acao": null,
          "quebra": false,
          "link": "https://docs.otlshoes.com.br/ambientes"
        },
        {
          "tipo": "novo",
          "area": "Documentação",
          "texto": "Guias: da venda no marketplace ao pedido, pausar o anúncio quando o estoque zera e emitir etiqueta sem cobrança duplicada.",
          "acao": null,
          "quebra": false,
          "link": "https://docs.otlshoes.com.br/guias/marketplace-para-pedido"
        },
        {
          "tipo": "novo",
          "area": "Documentação",
          "texto": "Coleção do Postman gerada da própria documentação, com os simuladores numa pasta à parte.",
          "acao": null,
          "quebra": false,
          "link": "https://docs.otlshoes.com.br/postman"
        }
      ]
    }
  ]
}