Usina de Concreto via API REST
Integração direta via API REST entre sistemas de automação de usina (Topcon, Kartrak e similares) e o CRTI ERP, sem o integrador local em Java.
- Softwares Pretendidos (Homologação)
- Diferença: Integrador Local (Java) vs. API REST
- Pré-requisitos
- Configuração no ERP
- Fluxo de Comunicação (Resumo)
- Observações Importantes
Este documento descreve a integração direta via API REST entre sistemas de automação de usinas de concreto (Topcon, Kartrak e similares) e o CRTI ERP, sem a necessidade do integrador local em Java.
A intenção é permitir que o software da usina converse diretamente com o ERP via HTTPS/JSON, trocando lotes de ordem de carga, retornos de carregamento e confirmações de processamento em tempo real.
Hoje o caminho homologado é o Integrador Local em Java. Esta documentação cobre o novo modelo, que está em desenvolvimento/validação. O endpoint e o formato do payload já estão definidos.
Softwares Pretendidos (Homologação)
A integração via API REST foi desenhada para conversar com sistemas de automação de usinas que já falam REST/JSON. A curto prazo a intenção é homologar:
- TOPCON
- KARTRAK
- COMMAND ALKON (em paralelo com o integrador Java)
- (Demais vendors a definir conforme demanda comercial)
Caso o software da usina não exponha uma API REST própria, mantenha-se o uso do Integrador Local em Java, que faz a ponte lendo layouts legados (INSTAL, SAUC, SAI, SHM, COMMAND ALKON) e convertendo para o mesmo payload JSON usado pela API.
Diferença: Integrador Local (Java) vs. API REST
Ambos entregam o mesmo resultado no ERP (lançamento de ordem de carga, retorno de carregamento e confirmação), mas o “como” é bem diferente:
| Aspecto | Integrador Local (Java) | API REST |
|---|---|---|
| Onde roda | Serviço Windows na máquina da usina (CRTI Integrador Usina Concreto) |
No próprio software da usina (Topcon/Kartrak/etc.) |
| Instalação | Instalar .zip + instalar_servico.bat |
Nenhuma instalação adicional — só configuração no ERP |
| Layout de dados | Arquivo TXT/CSV/XML em diretório de remessa/retorno | Chamada HTTP/JSON direta |
| Direção do dado | ERP escreve remessa → usina lê, processa, escreve retorno → ERP lê | ERP expõe endpoint, usina consulta (GET) e envia (POST) |
| Trigger | “Enviar para Integração Usina” no ERP + leitura de pasta | Webhook/polling configurado no lado da usina |
| Latência | Minutos (depende do poll do integrador sobre a pasta) | Segundos (HTTP em tempo real) |
| Falha de comunicação | Arquivo fica pendente na pasta até ser processado | Erro HTTP 5xx deve ser tratado pelo cliente com retry |
| Quando usar | Sistemas sem API (INSTAL, SAUC, SAI, SHM, COMMAND ALKON via arquivo) | Sistemas modernos com API REST (Topcon, Kartrak, integrações nativas) |
| Autenticação | Token fixo (chave de API do ERP) | Depende do tipo de usina |
Em resumo: o Integrador Local é um tradutor de arquivos que roda do lado da máquina do usuário/usina; a API REST é conversa direta, moderna, sem serviço intermediário.
Pré-requisitos
Lado do ERP:
- CRTI ERP com módulo de Usina de Concreto ativo e a filial configurada.
- Pelo menos um Ponto de Carga cadastrado e com o campo Código de Integração preenchido (esse código é a chave que amarra o payload ao ponto de carga da usina).
- Um usuário dedicado para a integração, com permissão de escrita no módulo de vendas/ordem de carga.
- Chave de API (X-API-Key). No caso da Topcon, é fornecida pela própria Topcon.
Lado da usina/sistema terceiro:
- O software precisa conseguir fazer
GETePOSTHTTPS com JSON. - O software precisa armazenar a
X-API-Keyde forma segura (variável de ambiente / cofre).
Não é necessário: instalar Java na máquina da usina, criar pasta de remessa/retorno, ou liberar Windows Service /
instalar_servico.bat.
Configuração no ERP
1. Cadastrar usuário dedicado e gerar chave de API
Veja Autenticação via Chave Única (X-API-Key). Essa chave é fornecida pela usina; atualmente somente a Topcon utiliza esse sistema de autenticação.
2. Cadastrar o Ponto de Carga com Código de Integração
- Acesse o cadastro de Ponto de Carga (Vendas > Cadastros > Ponto de Carga Concreto).
- No campo Código de Integração, informe o código acordado com a usina (ex.:
PC-CURITIBA-01).
Cada Ponto de Carga deve ter um código único. O código é case-sensitive — ele identifica o ponto de carga no payload JSON; sem ele, o retorno da usina é rejeitado.

3. GUID
Gerado automaticamente pelo ERP para comunicação com o integrador Java. A exclusividade é da Topcon, que pode ter esse GUID alterado para a comunicação via REST.
Fluxo de Comunicação (Resumo)
[Usina] [CRTI ERP]
| |
|--- GET /ordemDeCarga/remessa -->| (1) pede ordens pendentes
|<-- lista de ordens JSON --------|
| |
| (usina carrega o concreto) |
| |
|--- POST /ordemDeCarga/retorno ->| (2) envia o carregamento (quando retorno implementado)
|<-- 200 OK com payload -----------|
| |
|<-- POST /confirmar --------------| (3) ERP confirma processamento
|--- 200 OK ---------------------->|
| |
Observações Importantes
- A comunicação é feita por HTTPS obrigatório (ver API REST — Requisitos de Segurança). HTTP puro não é aceito.
- A
X-API-Keyé exibida uma única vez — guarde em local seguro (cofre/variável de ambiente); depois disso não fica mais disponível. - Se a usina perder a conexão no meio do
POST /retorno, ela deve reenviar — o ERP usa ocodigoEventocomo idempotência (retornos duplicados são ignorados).