Ir para conteúdo
  • Cadastre-se

Montesoft

Membros
  • Total de ítens

    5
  • Registro em

  • Última visita

Tudo que Montesoft postou

  1. Gerar o Token via CartaoPostal: With FConhecimento do begin Try RESTRequest1.Method := TRESTRequestMethod.rmPOST; RESTClient1.BaseURL := 'https://api.correios.com.br/token/v1/autentica/cartaopostagem'; HTTPBasicAuthenticator1.Username := ParametrosCorreios.FieldByName('NomeUsuario').AsString; HTTPBasicAuthenticator1.Password := ParametrosCorreios.FieldByName('CodigoAcesso').AsString; JsonBody := TJSONObject.Create; JsonBody.AddPair('numero', ParametrosCorreios.FieldByName('CartaoPostagem').Value); RESTRequest1.Params.Items[0].Value:= JsonBody.ToString; RESTRequest1.Params.AddItem.ContentType := ctAPPLICATION_JSON; RESTRequest1.Execute; data := RESTResponse1.JSONValue as TJSONObject; Token := data.Values['token'].Value; DataEmissao := data.Values['emissao'].Value; DataValidade := data.Values['expiraEm'].Value; // Converte a data de entrada para o formato correto DataEmissao := StringReplace(DataEmissao, '-', '/', [rfReplaceAll]); DataValidade := StringReplace(DataValidade, '-', '/', [rfReplaceAll]); // Remove o "T" e ajuste o formato da hora DataEmissao := StringReplace(DataEmissao, 'T', ' ', [rfReplaceAll]); DataValidade := StringReplace(DataValidade, 'T', ' ', [rfReplaceAll]); DataEmissao := Copy(DataEmissao, 9,2) + '/' + Copy(DataEmissao, 6,2) + '/' + Copy(DataEmissao, 1,4) + ' ' + Copy(DataEmissao, 12,8); DataValidade := Copy(DataValidade, 9,2) + '/' + Copy(DataValidade, 6,2) + '/' + Copy(DataValidade, 1,4) + ' ' + Copy(DataValidade, 12,8); Except on E : Exception do begin ShowMessage('Erro: ' + E.Message); Exit; end; end; end; Para consultar o rastreamento: function TFConhecimento.Rastro_Correios(Objeto : String): String; var data, JsonBody: TJsonObject; cEventos: String; //ClientDataSet_Rastreio : TClientDataSet; begin TokenCorreios('CartaoPostal'); With FConhecimento do begin Try RESTRequest2.Params.Clear; RESTRequest2.Method := TRESTRequestMethod.rmGET; RESTClient2.Authenticator := nil; RESTClient2.BaseURL := 'https://api.correios.com.br/srorastro/v1/objetos/' + Objeto + '?resultado=T'; RESTRequest2.AddParameter('Authorization', 'Bearer '+ParametrosCorreios.FieldByName('Token').AsString, TRESTRequestParameterKind.pkHTTPHEADER, [poDoNotEncode]); RESTRequest2.Execute; RESTResponseDataSetAdapter2.Active:= True; //Pega Campo de Eventos e transforma em DataSet cEventos:= FDRastreio.FieldByName('Eventos').AsString; Try JsonToDataset(ClientDataSet_Rastreio, cEventos); ClientDataSet_Rastreio.Open; DataRastreio.DataSet:= ClientDataSet_Rastreio; Except on E : Exception Do begin Result:= 'ERRO Validação ClientDataSet_Rastreio[Eventos](' + E.Message + ')'; ClientDataSet_Rastreio.Free; Exit; end; end; Except on E : Exception do begin ShowMessage('Erro: ' + E.Message); Result := 'erro: ' + E.Message; mRetorno.Text:= 'erro: ' + E.Message; Exit; end; end; end; end; esta bem cru ainda pessoal, mais está funcional!
  2. Consegui desenvolver a parte de Token, Preço e rastreio usando o contrato de alguns clientes (fiz direto no meu sistema, não modifiquei o ACBR). não sei como posso ajudar, se quiser posso fornecer o fonte. Porém realmente foi uma sacanagem gigante dos correios, muitos clientes não tem contrato e estão sem conseguir usar, mesmo com minha aplicação atualizada.
  3. Boa tarde Victor tudo bem ? Sacanagem... deixaram apenas consulta de CEP e o resto pelo que vi vedaram ?
  4. Boa tarde, mesmo problema aqui tbm
  5. Estou tentando homologar o CNAB 400 no C6 porém quando tento enviar o arquivo CNAB tenho o retorno: Erro! O nome de arquivo não foi especificado. No manual não tem nenhuma informação sobre este erro, alguém já passou por isso ? o nome do arquivo está sendo gerado como cbDDMMSS.rem aonde séria dia+mês+seq no meu caso ficando cb160501.rem Agradeço desde já.
×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.

The popup will be closed in 10 segundos...