API para CIOT
Enviado: 27 Mar 2023 14:03
Pessoal
Alguem usa a API da Truckpay para CIOT ou Vale Pedagio ?
Como faço para poder usar a API para emitir o CIOT
Documentacao
https://doc.truckpadpay.com.br/
Tenho esses 2 modelos abaixo que usam #include "hbapi.h"
esse include faz referencia ao hbdefs.h que por sua vez faz referencia
a uma serie de arquvos stxxxx.h , E nao tenho esses arquivos , Nao consigo compilar
Ta faltando o que no harbour 3.2 ?
esse outro tambem
Alguem usa a API da Truckpay para CIOT ou Vale Pedagio ?
Como faço para poder usar a API para emitir o CIOT
Documentacao
https://doc.truckpadpay.com.br/
Tenho esses 2 modelos abaixo que usam #include "hbapi.h"
esse include faz referencia ao hbdefs.h que por sua vez faz referencia
a uma serie de arquvos stxxxx.h , E nao tenho esses arquivos , Nao consigo compilar
Ta faltando o que no harbour 3.2 ?
Código: Selecionar todos
#include "hbapi.h"
PROCEDURE gerarCIOT()
LOCAL cUrl := "https://api.truckpadpay.com.br/v1/emissao";
LOCAL cToken := "seu-token-aqui";
LOCAL oData := {}
oData["valor"] := 1000.00
oData["id_carreteiro"] := "123456"
oData["tipo_operacao"] := "carga"
oData["descricao"] := "Frete para São Paulo"
oData["placa_veiculo"] := "AAA1234"
oData["placa_reboque1"] := "BBB5678"
oData["cpf_cnpj_pagar"] := "12345678900"
oData["nome_pagar"] := "Transportadora XPTO"
oData["cidade_origem"] := "Rio de Janeiro"
oData["uf_origem"] := "RJ"
oData["cidade_destino"] := "São Paulo"
oData["uf_destino"] := "SP"
LOCAL cJson := JsonToStr(oData)
LOCAL oHeaders := {}
oHeaders["Content-Type"] := "application/json"
oHeaders["Authorization"] := "Bearer " + cToken
LOCAL cResult := HttpPost(cUrl, cJson, oHeaders)
? "Resultado: ", cResult
LOCAL oResponse := JsonToObj(cResult)
IF oResponse.success = .T.
? "CIOT gerado: ", oResponse.dados.ciot
ELSE
? "Erro ao gerar CIOT: ", oResponse.mensagem
ENDIF
RETURN
Código: Selecionar todos
#include "hbapi.h"
PROCEDURE main()
LOCAL cUrl, cToken, cCnpj, cCpf, cOrigem, cDestino, cValor, cCIOT
cUrl := "https://api.truckpad.io/v1/payments/ciot"
cToken := "SEU_TOKEN_DE_AUTORIZACAO"
cCnpj := "CNPJ_DO_EMITENTE"
cCpf := "CPF_DO_TOMADOR"
cOrigem := "CIDADE_ORIGEM"
cDestino := "CIDADE_DESTINO"
cValor := "VALOR_DO_FRETE"
cCIOT := ""
hb_curl_init()
// Cria o header da requisição
hb_curl_setopt( CURLOPT_HTTPHEADER, { "Content-Type: application/json", ;
"Authorization: Bearer " + cToken } )
// Cria o JSON de dados da requisição
LOCAL cJsonData := '{ "cnpj": "' + cCnpj + '", ' + ;
'"cpf": "' + cCpf + '", ' + ;
'"origin": "' + cOrigem + '", ' + ;
'"destination": "' + cDestino + '", ' + ;
'"amount": "' + cValor + '" }'
// Configura a URL e os dados da requisição
hb_curl_setopt( CURLOPT_URL, cUrl )
hb_curl_setopt( CURLOPT_POST, .T. )
hb_curl_setopt( CURLOPT_POSTFIELDS, cJsonData )
// Executa a requisição e retorna a resposta
LOCAL cResponse := hb_curl_exec()
hb_curl_cleanup()
// Verifica se a requisição foi bem-sucedida e extrai o valor do CIOT
IF hb_curl_getinfo( CURLINFO_RESPONSE_CODE ) == 201
LOCAL oJson := JsonNew()
JsonImport( oJson, cResponse )
cCIOT := JsonGet( oJson, "ciot" )
JsonRelease( oJson )
? "CIOT gerado com sucesso: " + cCIOT
ELSE
? "Erro ao gerar o CIOT: " + cResponse
ENDIF
RETURN