Pular para conteúdo

Backend — TLPP e banco

O backend roda dentro do Protheus da planta: os endpoints são compilados na RPO e as tabelas próprias são criadas no banco. Não há servidor externo.

Pré-requisitos

  • Ambiente Protheus com REST habilitado e licenças REST disponíveis.
  • Módulo SIGAPCP em uso (OPs, roteiros, recursos, motivos cadastrados).
  • Acesso ao banco (SQL Server) para rodar o DDL.
  • Certificado SSL para o servidor REST (HTTPS) — ver Autenticação.

1. Compilar os fontes TLPP

Compile todos os .tlpp de tlpp/ na mesma RPO (custom), incluindo a pasta config_server/:

tlpp/
├── apt001.tlpp … apt020.tlpp, apt023.tlpp, apt024.tlpp, apt030.tlpp   (endpoints)
├── utilApt.tlpp        (validações, guardas, U_ApPE, logger)
├── mltecLog.tlpp       (auditoria → MLTEC_0054)
└── config_server/
    ├── RestConfigurationOnStart.tlpp
    ├── paramsProvider.tlpp
    ├── validaToken.tlpp
    └── noCheckUri.tlpp

Ordem

Compile utilApt e mltecLog junto com os endpoints — eles são chamados por todos.

2. Criar as tabelas (DDL idempotente)

Rode, no banco do Protheus, os scripts de tlpp/sql/ (podem ser executados mais de uma vez):

-- na base do Protheus
:r MLTEC_0051_create.sql   -- sessões de apontamento
:r MLTEC_0052_create.sql   -- pausas
:r MLTEC_0053_create.sql   -- credencial de serviço do kiosk (+ seed APONTA)
:r MLTEC_0054_create.sql   -- auditoria

Depois do DDL, troque a senha da conta de serviço

O MLTEC_0053_create.sql insere a conta APONTA com senha placeholder. Veja Autenticação antes de liberar o acesso.

3. Ambiente do REST

Os endpoints usam a filial do ambiente aberto no start (não há posicionamento por request). O job RestConfigurationOnStart abre o ambiente:

// RestConfigurationOnStart.tlpp (trecho)
RPCSetType(3)
RpcSetEnv("99", "01", "", "", "PCP", , {"SC2"})
  • Empresa 99, Filial 01, módulo PCP — ajuste por cliente conforme a empresa/filial real.
  • Deploy single-filial: um servidor REST por filial de produção.

Confira empresa/filial no deploy

hardcodes de empresa/filial em alguns pontos (ex.: mltecLog, paramsProvider usam '01'). Alinhe empresa/filial ao cliente antes de ir a produção — divergência resulta em auditoria/consultas vazias.

4. Validar

  • Emitir token (ver Autenticação) e chamar um GET simples (apt002 — recursos).
  • Conferir que MLTEC_0051..0054 existem e que a auditoria (MLTEC_0054) grava ao apontar.