{
  "info": {
    "_postman_id": "6d42c1c3-e8ca-4bf2-b881-44c0cfe22f45",
    "name": "TMS Kreative API",
    "description": "Colecao para homologacao dos servicos da Torre/TMS Kreative. Preencha as variaveis da colecao antes dos testes. ATENCAO: requisicoes identificadas como CUIDADO alteram ou excluem dados.",
    "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
  },
  "auth": {
    "type": "bearer",
    "bearer": [
      {
        "key": "token",
        "value": "{{token}}",
        "type": "string"
      }
    ]
  },
  "event": [
    {
      "listen": "test",
      "script": {
        "type": "text/javascript",
        "exec": [
          "pm.test('Resposta HTTP valida', function () {",
          "    pm.expect(pm.response.code).to.be.oneOf([200, 401, 403, 404, 422]);",
          "});",
          "if (pm.request.url.toString().includes('/api/') && !pm.request.url.toString().endsWith('/arquivo')) {",
          "    pm.test('Resposta em JSON', function () {",
          "        pm.response.to.be.json;",
          "    });",
          "}"
        ]
      }
    }
  ],
  "variable": [
    { "key": "base_url", "value": "https://tms.kreativesistemas.com.br/api/v1", "type": "string" },
    { "key": "web_url", "value": "https://tms.kreativesistemas.com.br", "type": "string" },
    { "key": "token", "value": "COLE_AQUI_O_TOKEN_DO_TENANT", "type": "string" },
    { "key": "tenant_slug", "value": "lvtbh", "type": "string" },
    { "key": "data_inicial", "value": "2026-08-13 00:00:00", "type": "string" },
    { "key": "data_final", "value": "2026-08-13 23:59:59", "type": "string" },
    { "key": "data_inicial_dia", "value": "2026-08-01", "type": "string" },
    { "key": "data_final_dia", "value": "2026-08-31", "type": "string" },
    { "key": "nf", "value": "16446", "type": "string" },
    { "key": "cte", "value": "0", "type": "string" },
    { "key": "romaneio", "value": "52221", "type": "string" },
    { "key": "placa", "value": "BWE2G28", "type": "string" },
    { "key": "codmot", "value": "784512", "type": "string" },
    { "key": "chave_nfe", "value": "35260840165831000308550010000164461234567890", "type": "string" },
    { "key": "cnpj_remetente", "value": "40165831000308", "type": "string" },
    { "key": "cnpj_destinatario", "value": "48727478000144", "type": "string" },
    { "key": "comprovante_id", "value": "1", "type": "string" }
  ],
  "item": [
    {
      "name": "01 - Importacao e edicao",
      "item": [
        {
          "name": "CUIDADO - Importar ou atualizar documentos",
          "request": {
            "method": "POST",
            "header": [
              { "key": "Content-Type", "value": "application/json" },
              { "key": "Accept", "value": "application/json" }
            ],
            "body": {
              "mode": "raw",
              "raw": "[\n  {\n    \"romaneio\": \"{{romaneio}}\",\n    \"codmot\": \"{{codmot}}\",\n    \"nome_mot\": \"MOTORISTA TESTE POSTMAN\",\n    \"placa_veic\": \"{{placa}}\",\n    \"cte\": \"{{cte}}\",\n    \"seq_ent\": \"1\",\n    \"nf\": \"{{nf}}\",\n    \"volume\": \"1\",\n    \"peso\": \"10.500\",\n    \"valor_da_mercadoria\": \"100.00\",\n    \"cliente\": \"REMETENTE TESTE POSTMAN\",\n    \"nome_do_destino\": \"DESTINATARIO TESTE POSTMAN\",\n    \"cnpj_destinatario\": \"{{cnpj_destinatario}}\",\n    \"tipomov\": \"ENT\",\n    \"datatransf\": \"{{data_inicial_dia}}\",\n    \"dt_prev_ent\": \"{{data_inicial_dia}} 14:30:00\",\n    \"bairro\": \"CENTRO\",\n    \"endereco\": \"RUA TESTE 100\",\n    \"filial\": \"SPO\",\n    \"filial_doc\": \"SPO\",\n    \"tipoveic\": \"A\",\n    \"cnpj_cliente\": \"{{cnpj_remetente}}\",\n    \"uf\": \"SP\",\n    \"avulso\": \"0\",\n    \"refrigerado\": \"0\",\n    \"fixo\": \"0\"\n  }\n]",
              "options": { "raw": { "language": "json" } }
            },
            "url": "{{base_url}}/torre/documentos/importacao",
            "description": "Cria ou atualiza documentos. Use apenas dados de homologacao ou registros preparados para o teste."
          }
        }
      ]
    },
    {
      "name": "02 - Exclusoes",
      "item": [
        {
          "name": "CUIDADO - Excluir documento",
          "request": {
            "method": "POST",
            "header": [
              { "key": "Content-Type", "value": "application/json" },
              { "key": "Accept", "value": "application/json" }
            ],
            "body": {
              "mode": "raw",
              "raw": "[\n  {\n    \"romaneio\": \"{{romaneio}}\",\n    \"nf\": \"{{nf}}\",\n    \"datatransf\": \"{{data_inicial_dia}}\"\n  }\n]",
              "options": { "raw": { "language": "json" } }
            },
            "url": "{{base_url}}/torre/documentos/exclusao",
            "description": "EXCLUI dados. A API bloqueia documentos que ja possuem movimentacao operacional impeditiva."
          }
        },
        {
          "name": "CUIDADO - Excluir romaneio",
          "request": {
            "method": "POST",
            "header": [
              { "key": "Content-Type", "value": "application/json" },
              { "key": "Accept", "value": "application/json" }
            ],
            "body": {
              "mode": "raw",
              "raw": "[\n  {\n    \"romaneio\": \"{{romaneio}}\",\n    \"placa_veic\": \"{{placa}}\",\n    \"codmot\": \"{{codmot}}\",\n    \"datatransf\": \"{{data_inicial_dia}}\"\n  }\n]",
              "options": { "raw": { "language": "json" } }
            },
            "url": "{{base_url}}/torre/romaneios/exclusao",
            "description": "EXCLUI o romaneio e documentos permitidos. Revise as variaveis antes de enviar."
          }
        }
      ]
    },
    {
      "name": "03 - Consultas operacionais",
      "item": [
        {
          "name": "Consultar ocorrencias por periodo",
          "request": {
            "method": "POST",
            "header": [
              { "key": "Content-Type", "value": "application/json" },
              { "key": "Accept", "value": "application/json" }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"status\": \"ocorrencia\",\n  \"dataHoraInicial\": \"{{data_inicial}}\",\n  \"dataHoraFinal\": \"{{data_final}}\",\n  \"limite\": 500\n}",
              "options": { "raw": { "language": "json" } }
            },
            "url": "{{base_url}}/torre/consultas/status"
          }
        },
        {
          "name": "Consultar entregas com comprovante",
          "request": {
            "method": "POST",
            "header": [
              { "key": "Content-Type", "value": "application/json" },
              { "key": "Accept", "value": "application/json" }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"status\": \"entregue\",\n  \"dataHoraInicial\": \"{{data_inicial}}\",\n  \"dataHoraFinal\": \"{{data_final}}\",\n  \"comprovante\": true,\n  \"limite\": 500\n}",
              "options": { "raw": { "language": "json" } }
            },
            "url": "{{base_url}}/torre/consultas/status"
          }
        },
        {
          "name": "Consultar comprovante por chave NF-e",
          "request": {
            "method": "POST",
            "header": [
              { "key": "Content-Type", "value": "application/json" },
              { "key": "Accept", "value": "application/json" }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"chave_nfe\": \"{{chave_nfe}}\"\n}",
              "options": { "raw": { "language": "json" } }
            },
            "url": "{{base_url}}/torre/consultas/comprovante"
          }
        },
        {
          "name": "Consultar comprovante por NF CT-e e romaneio",
          "request": {
            "method": "POST",
            "header": [
              { "key": "Content-Type", "value": "application/json" },
              { "key": "Accept", "value": "application/json" }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"nf\": \"{{nf}}\",\n  \"cte\": \"{{cte}}\",\n  \"romaneio\": \"{{romaneio}}\"\n}",
              "options": { "raw": { "language": "json" } }
            },
            "url": "{{base_url}}/torre/consultas/comprovante"
          }
        },
        {
          "name": "Baixar comprovante privado",
          "request": {
            "method": "GET",
            "header": [],
            "url": "{{base_url}}/torre/comprovantes/{{comprovante_id}}/arquivo",
            "description": "Exige o Bearer Token do tenant proprietario. Use Send and Download no Postman para salvar a imagem ou o PDF."
          }
        },
        {
          "name": "Consultar notas por remetente",
          "request": {
            "method": "POST",
            "header": [
              { "key": "Content-Type", "value": "application/json" },
              { "key": "Accept", "value": "application/json" }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"cnpj\": \"{{cnpj_remetente}}\",\n  \"papel\": \"remetente\",\n  \"dataInicial\": \"{{data_inicial_dia}}\",\n  \"dataFinal\": \"{{data_final_dia}}\",\n  \"limite\": 500\n}",
              "options": { "raw": { "language": "json" } }
            },
            "url": "{{base_url}}/torre/consultas/notas",
            "description": "Permitido para tenant Transportador."
          }
        },
        {
          "name": "Consultar notas por destinatario com comprovante",
          "request": {
            "method": "POST",
            "header": [
              { "key": "Content-Type", "value": "application/json" },
              { "key": "Accept", "value": "application/json" }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"cnpj\": \"{{cnpj_destinatario}}\",\n  \"papel\": \"destinatario\",\n  \"dataInicial\": \"{{data_inicial_dia}}\",\n  \"dataFinal\": \"{{data_final_dia}}\",\n  \"comprovante\": true,\n  \"limite\": 500\n}",
              "options": { "raw": { "language": "json" } }
            },
            "url": "{{base_url}}/torre/consultas/notas",
            "description": "Permitido para tenant Transportador ou Distribuidor."
          }
        }
      ]
    },
    {
      "name": "04 - Tracking publico",
      "item": [
        {
          "name": "Abrir tracking publico do tenant",
          "request": {
            "auth": { "type": "noauth" },
            "method": "GET",
            "header": [],
            "url": "{{web_url}}/tracking/{{tenant_slug}}",
            "description": "Abre a pagina publica. O tracking precisa estar habilitado no tenant."
          }
        },
        {
          "name": "Abrir tracking embed do tenant",
          "request": {
            "auth": { "type": "noauth" },
            "method": "GET",
            "header": [],
            "url": "{{web_url}}/tracking/{{tenant_slug}}/embed"
          }
        }
      ]
    },
    {
      "name": "05 - Motoristas e veiculos",
      "item": [
        {
          "name": "CUIDADO - Importar ou atualizar motorista",
          "request": {
            "method": "POST",
            "header": [
              { "key": "Content-Type", "value": "application/json" },
              { "key": "Accept", "value": "application/json" }
            ],
            "body": {
              "mode": "raw",
              "raw": "[\n  {\n    \"nome\": \"MOTORISTA TESTE POSTMAN\",\n    \"cpf\": \"12345678901\",\n    \"codigo_externo\": \"POSTMAN001\",\n    \"cnh\": \"12345678900\",\n    \"validade_cnh\": \"2027-12-31\",\n    \"telefone\": \"11999999999\",\n    \"email\": \"motorista.teste@example.com\",\n    \"status\": \"active\"\n  }\n]",
              "options": { "raw": { "language": "json" } }
            },
            "url": "{{base_url}}/torre/cadastros/motoristas"
          }
        },
        {
          "name": "CUIDADO - Importar ou atualizar veiculo",
          "request": {
            "method": "POST",
            "header": [
              { "key": "Content-Type", "value": "application/json" },
              { "key": "Accept", "value": "application/json" }
            ],
            "body": {
              "mode": "raw",
              "raw": "[\n  {\n    \"placa\": \"TST1A23\",\n    \"tipo_veiculo\": \"VUC\",\n    \"tipo\": \"A\",\n    \"marca\": \"TESTE\",\n    \"modelo\": \"POSTMAN\",\n    \"ano\": \"2026\",\n    \"capacidade_kg\": \"2000\",\n    \"capacidade_m3\": \"12.5\",\n    \"status\": \"active\"\n  }\n]",
              "options": { "raw": { "language": "json" } }
            },
            "url": "{{base_url}}/torre/cadastros/veiculos"
          }
        }
      ]
    }
  ]
}
