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, Filial01, móduloPCP— ajuste por cliente conforme a empresa/filial real. - Deploy single-filial: um servidor REST por filial de produção.
Confira empresa/filial no deploy
Há 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..0054existem e que a auditoria (MLTEC_0054) grava ao apontar.