{
  "info": {
    "name": "Turron Acesso API",
    "description": "API de integracao do Turron Acesso (modelo da API Turron). 1) Preencha client_id e client_secret nas variaveis da colecao (Cadastros > Locais > editar instalacao > Credencial da API). 2) Rode 'Gerar token' (o token fica salvo sozinho, vale 15 min). 3) Rode as consultas.",
    "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
  },
  "auth": {
    "type": "bearer",
    "bearer": [
      {
        "key": "token",
        "value": "{{access_token}}",
        "type": "string"
      }
    ]
  },
  "variable": [
    {
      "key": "base_url",
      "value": "https://controledeacesso.turron.com.br/api"
    },
    {
      "key": "client_id",
      "value": "COLE_O_CLIENT_ID"
    },
    {
      "key": "client_secret",
      "value": "COLE_O_CLIENT_SECRET"
    },
    {
      "key": "access_token",
      "value": ""
    },
    {
      "key": "usuario_id",
      "value": "",
      "description": "Preenchido sozinho ao cadastrar"
    }
  ],
  "item": [
    {
      "name": "Gerar token",
      "event": [
        {
          "listen": "test",
          "script": {
            "type": "text/javascript",
            "exec": [
              "if (pm.response.code === 200) {",
              "  pm.collectionVariables.set('access_token', pm.response.json().access_token);",
              "}"
            ]
          }
        }
      ],
      "request": {
        "method": "POST",
        "auth": {
          "type": "basic",
          "basic": [
            {
              "key": "username",
              "value": "{{client_id}}",
              "type": "string"
            },
            {
              "key": "password",
              "value": "{{client_secret}}",
              "type": "string"
            }
          ]
        },
        "body": {
          "mode": "urlencoded",
          "urlencoded": [
            {
              "key": "grant_type",
              "value": "client_credentials"
            }
          ]
        },
        "url": {
          "raw": "{{base_url}}/oauth/token",
          "host": [
            "{{base_url}}"
          ],
          "path": [
            "oauth",
            "token"
          ]
        }
      }
    },
    {
      "name": "Refeicoes - resumo por periodo",
      "request": {
        "method": "GET",
        "url": {
          "raw": "{{base_url}}/v1/refeicoes/resumo?dataInicio=2026-10-01&dataFim=2026-10-15",
          "host": [
            "{{base_url}}"
          ],
          "path": [
            "v1",
            "refeicoes",
            "resumo"
          ],
          "query": [
            {
              "key": "dataInicio",
              "value": "2026-10-01",
              "description": "AAAA-MM-DD ou AAAA-MM-DDTHH:MM:SS (inclui o inicio)"
            },
            {
              "key": "dataFim",
              "value": "2026-10-15",
              "description": "AAAA-MM-DD inclui o dia inteiro; com hora exclui o fim. Max 31 dias"
            },
            {
              "key": "tipoPreco",
              "value": "integral",
              "description": "Preco quando o historico vem com 0: integral (padrao) ou subsidiado",
              "disabled": true
            },
            {
              "key": "codigoEmpresa",
              "value": "",
              "description": "Codigo da empresa (opcional)",
              "disabled": true
            }
          ]
        }
      }
    },
    {
      "name": "Refeicoes - sintetico por usuario",
      "request": {
        "method": "GET",
        "url": {
          "raw": "{{base_url}}/v1/refeicoes/por-usuario?dataInicio=2026-10-01&dataFim=2026-10-15&pagina=1&limite=50",
          "host": [
            "{{base_url}}"
          ],
          "path": [
            "v1",
            "refeicoes",
            "por-usuario"
          ],
          "query": [
            {
              "key": "dataInicio",
              "value": "2026-10-01"
            },
            {
              "key": "dataFim",
              "value": "2026-10-15"
            },
            {
              "key": "pagina",
              "value": "1"
            },
            {
              "key": "limite",
              "value": "50",
              "description": "Max 100"
            },
            {
              "key": "codigoEmpresa",
              "value": "",
              "description": "Codigo da empresa (opcional)",
              "disabled": true
            }
          ]
        }
      }
    },
    {
      "name": "Refeicoes - analitico (passagens)",
      "request": {
        "method": "GET",
        "url": {
          "raw": "{{base_url}}/v1/refeicoes/passagens?dataInicio=2026-10-01&dataFim=2026-10-15&pagina=1&limite=50",
          "host": [
            "{{base_url}}"
          ],
          "path": [
            "v1",
            "refeicoes",
            "passagens"
          ],
          "query": [
            {
              "key": "dataInicio",
              "value": "2026-10-01"
            },
            {
              "key": "dataFim",
              "value": "2026-10-15"
            },
            {
              "key": "pagina",
              "value": "1"
            },
            {
              "key": "limite",
              "value": "50",
              "description": "Max 100"
            },
            {
              "key": "codigoEmpresa",
              "value": "",
              "description": "Codigo da empresa (opcional)",
              "disabled": true
            },
            {
              "key": "codigoRefeicao",
              "value": "",
              "disabled": true
            },
            {
              "key": "matricula",
              "value": "",
              "disabled": true
            },
            {
              "key": "cracha",
              "value": "",
              "disabled": true
            }
          ]
        }
      }
    },
    {
      "name": "Usuarios - listar",
      "request": {
        "method": "GET",
        "url": {
          "raw": "{{base_url}}/v1/usuarios?pagina=1&limite=50",
          "host": [
            "{{base_url}}"
          ],
          "path": [
            "v1",
            "usuarios"
          ],
          "query": [
            {
              "key": "pagina",
              "value": "1"
            },
            {
              "key": "limite",
              "value": "50"
            },
            {
              "key": "matricula",
              "value": "",
              "disabled": true
            },
            {
              "key": "cracha",
              "value": "",
              "disabled": true
            },
            {
              "key": "nome",
              "value": "",
              "disabled": true
            },
            {
              "key": "codigoEmpresa",
              "value": "",
              "disabled": true
            },
            {
              "key": "situacao",
              "value": "ativo",
              "description": "ativo ou desligado",
              "disabled": true
            }
          ]
        }
      }
    },
    {
      "name": "Usuarios - consultar",
      "request": {
        "method": "GET",
        "url": {
          "raw": "{{base_url}}/v1/usuarios/{{usuario_id}}",
          "host": [
            "{{base_url}}"
          ],
          "path": [
            "v1",
            "usuarios",
            "{{usuario_id}}"
          ]
        }
      }
    },
    {
      "name": "Usuarios - cadastrar",
      "request": {
        "method": "POST",
        "url": {
          "raw": "{{base_url}}/v1/usuarios",
          "host": [
            "{{base_url}}"
          ],
          "path": [
            "v1",
            "usuarios"
          ]
        },
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "body": {
          "mode": "raw",
          "raw": "{\n  \"nome\": \"Maria da Silva\",\n  \"matricula\": \"20231\",\n  \"cracha\": \"884512\",\n  \"codigoEmpresa\": 8,\n  \"cpf\": \"123.456.789-01\",\n  \"celular\": \"11999990000\",\n  \"email\": \"maria@empresa.com.br\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      },
      "event": [
        {
          "listen": "test",
          "script": {
            "type": "text/javascript",
            "exec": [
              "if (pm.response.code === 201) { pm.collectionVariables.set('usuario_id', pm.response.json().id); }"
            ]
          }
        }
      ]
    },
    {
      "name": "Usuarios - alterar",
      "request": {
        "method": "PATCH",
        "url": {
          "raw": "{{base_url}}/v1/usuarios/{{usuario_id}}",
          "host": [
            "{{base_url}}"
          ],
          "path": [
            "v1",
            "usuarios",
            "{{usuario_id}}"
          ]
        },
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "body": {
          "mode": "raw",
          "raw": "{\n  \"celular\": \"11988887777\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "Usuarios - desligar",
      "request": {
        "method": "POST",
        "url": {
          "raw": "{{base_url}}/v1/usuarios/{{usuario_id}}/desligar",
          "host": [
            "{{base_url}}"
          ],
          "path": [
            "v1",
            "usuarios",
            "{{usuario_id}}",
            "desligar"
          ]
        }
      }
    },
    {
      "name": "Usuarios - cadastrar em lote",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "body": {
          "mode": "raw",
          "raw": "{\n  \"itens\": [\n    {\n      \"nome\": \"Nome Da Pessoa Um\",\n      \"matricula\": \"TROQUE1\",\n      \"cracha\": \"TROQUE1\",\n      \"codigoEmpresa\": 8\n    },\n    {\n      \"nome\": \"Nome Da Pessoa Dois\",\n      \"matricula\": \"TROQUE2\",\n      \"cracha\": \"TROQUE2\",\n      \"codigoEmpresa\": 8\n    }\n  ]\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        },
        "url": {
          "raw": "{{base_url}}/v1/usuarios/lote",
          "host": [
            "{{base_url}}"
          ],
          "path": [
            "v1",
            "usuarios",
            "lote"
          ]
        }
      }
    },
    {
      "name": "Usuarios - desligar em lote",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "body": {
          "mode": "raw",
          "raw": "{\n  \"itens\": [\n    {\n      \"id\": 0\n    },\n    {\n      \"matricula\": \"TROQUE\",\n      \"codigoEmpresa\": 8\n    }\n  ]\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        },
        "url": {
          "raw": "{{base_url}}/v1/usuarios/desligar-lote",
          "host": [
            "{{base_url}}"
          ],
          "path": [
            "v1",
            "usuarios",
            "desligar-lote"
          ]
        }
      }
    },
    {
      "name": "Usuarios - sincronizar (lista completa)",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "body": {
          "mode": "raw",
          "raw": "{\n  \"simular\": true,\n  \"itens\": [\n    {\n      \"codigoEmpresa\": 8,\n      \"matricula\": \"TROQUE\",\n      \"cracha\": \"TROQUE\",\n      \"nome\": \"Nome Da Pessoa\",\n      \"refeicoes\": [\n        {\n          \"codigoRefeicao\": 1,\n          \"limite\": 1\n        },\n        {\n          \"codigoRefeicao\": 2,\n          \"limite\": 1\n        }\n      ]\n    }\n  ]\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        },
        "description": "ATENCAO: sem \"simular\": true, quem nao estiver na lista e DESLIGADO. Envie a lista completa da empresa.",
        "url": {
          "raw": "{{base_url}}/v1/usuarios/sincronizar",
          "host": [
            "{{base_url}}"
          ],
          "path": [
            "v1",
            "usuarios",
            "sincronizar"
          ]
        }
      }
    },
    {
      "name": "Refeicoes - lista da instalacao",
      "request": {
        "method": "GET",
        "url": {
          "raw": "{{base_url}}/v1/refeicoes",
          "host": [
            "{{base_url}}"
          ],
          "path": [
            "v1",
            "refeicoes"
          ]
        }
      }
    },
    {
      "name": "Health",
      "request": {
        "method": "GET",
        "auth": {
          "type": "noauth"
        },
        "url": {
          "raw": "{{base_url}}/health",
          "host": [
            "{{base_url}}"
          ],
          "path": [
            "health"
          ]
        }
      }
    }
  ]
}