MANUAL TEF-GP API
Aplicação responsável pela comunicação de software WEB com o aplicativo GP.
Documentação para desenvolvimento
[Link]
Deve ser utilizado o instalador
TefGpAPI_Setup_1_0_0_1.exe
Após instalado deve ser apontado o caminho da pasta do GP e informar o IP e a
PORTA onde a API ficará rodando.
Gravar Logs em modo Debug
Abrir arquivo [Link] e alterar a propriedade DEBUG=0 para DEBUG=1 , dessa forma
passará a gravar o conteúdo de todas as requisições e de respostas.
Versão para download: [Link]
Executando API como serviço no Windows
Baixando o NSSM
Para fazer o download acesse o site: [Link] será baixado um
arquivo “[Link]”, descompacte para uma pasta de sua preferência.
Latest release nssm 2.24 (2014-08-31)
Vá até o diretório descompactado e acesse a pasta win64 ou win32 dependendo da
sua versão do Windows, pelo Prompt de comando na pasta execute o seguinte
comando “[Link]”, a saída deve ser parecida com a figura abaixo:
Ainda na pasta win64 ou win32 execute o seguinte comando para criar um novo
serviço “nssm install NomeDoServico”.
Após criado o serviço no prompt será apresentado a seguinte tela:
Configurando um Novo Serviço
Vamos dar uma breve explicação das configurações:
● Path: Local da aplicação que será executada;
● Startup directory: Local onde a aplicação será inicializada;
● Arguments: Usado para especificar qualquer argumento de linha de
comando para passar para o aplicativo;
Clique em “install service” para finalizarmos a criação do nosso serviço.
Para verificar se o serviço foi criado acesse os serviços do Windows e inicie-o.
Pronto! Criamos nosso serviço!
Exemplo em FLUTER
import 'package:http/[Link]' as http;
import 'dart:convert';
Future<void> postData(String url) async {
final headers = {'Content-Type': 'application/json'};
final body = {
"comando": "string",
"identificacao": 0,
"docFiscal": 0,
"valorTotal": 0,
"moeda": 0,
"adquirente": "string",
"tipoTransacao": "string",
"parcelas": "string",
"nsu": "string",
"dataHoraComprovante": "2025-01-24T[Link].632Z",
"controle": "string",
"capAutomacao": 0,
"empresaAutomacao": "string",
"dataHoraFiscal": "2025-01-24T[Link].632Z",
"versaoInterface": 0,
"nomeAutomacao": "string",
"versaoAutomacao": "string",
"registroCertificacao": "string"
};
try {
final response = await [Link](
[Link](url),
headers: headers,
body: jsonEncode(body),
);
if ([Link] >= 200 && [Link] < 300) { // Check for
successful status codes (2xx)
print('Response status: ${[Link]}');
print('Response body: ${[Link]}');
try {
final decodedData = jsonDecode([Link]);
print('Decoded data: $decodedData');
} catch (e) {
print('Error decoding JSON response: $e');
print('Raw response body: ${[Link]}'); // Print raw body for debugging
} else {
print('Request failed with status: ${[Link]}.');
print('Response body: ${[Link]}'); // Very important for debugging
} catch (e) {
print('Error making request: $e');
// Example usage:
void main() async {
await postData('YOUR_API_ENDPOINT_HERE'); // Replace with your API
endpoint