Jump to content

Compre o Delphi
Com até 30% de desconto
e parcelado em até 12x sem juros

Saiba Mais

Balança SM100 performance surpreendente

Tecnologia Japonesa   Teclado e Visor resistentes a água
Consumo inteligente de etiquetas   Baixo custo de manutenção
Comunicação Ethernet e WIFI independentes

Saiba mais

Impressora de Etiquetas ELGIN - L42 PRO

Protocolos PPLA, PPLB, ZPL, EPL (automático)
Porta USB padrão Opcionais: Ethernet, Serial, Paralela
Sensor de Etiquetas Móvel Garantia de 18 meses

Saiba mais

d2mpavan

Integrar com API - ActiveCorp

Recommended Posts

Boa Tarde Pessoal!

Em minha ultima postagem o Datilas me ajudou demais (Muito Obrigado mesmo)!

Consegui enviar os motoristas conforme a orientação dele e está funcionando perfeitamente.

Porém, agora preciso enviar as ordens, e deveriam seguir as mesmas regras mudando apenas o caminho (orders).

Mas não está enviando e me retorna erro 400 - Bad Request.

Segue abaixo o código, caso alguém possa me ajudar.

 

procedure TForm1.Button1Click(Sender: TObject);
Var
 code: Integer;
 sResponse: String;
 Json: String;
 JsontoSend, AResponseContent: TStringStream;
 iStatusCode: Integer;
 http: TIdHTTP;
 Handler: TIdSSLIOHandlerSocketOpenSSL;
Begin
 Json := '{"Driver": {"PhoneCountry": "+55","PhoneNumber": "19999690130"},"Customer": {"DocumentType": "CNPJ","DocumentNumber": "11229082000167"},"OrderType": 1,"OrderID": "123456","OrderNumber": "123456","OrderDescription": "NF-e",';
 Json := Json + '"OrderDescriptionDocuments": "NF-e","SourceAddress": {"Address": "Rua Rahal, 71","Address2": "Jardim Santa Mena","ZipCode": "07097020","City": "Guarulhos","State": "Sao Paulo.","Country": "Brasil","Name": "Active Corp"';
 Json := Json + ',"Responsibility": "Everton Implantacão","PhoneCountry": "+55", "PhoneNumber": "11988999199"},"DestinationAddress": {"Address": "Rua Sales, 812","Address2": "Cabucu","ZipCode": "07144260","City": "Guarulhos","State": "Sao Paulo","Country": "Brasil"';
 Json := Json + ',"Name": "Everton Destinatario","Responsibility": "Everton","PhoneCountry": "+55","PhoneNumber": "1199994-9999"},"Documents": [{"DocumentID": "ID999999","DocumentNumber": "999999999","Volumes": [{"VolumeID": "ID999999","Count": 5,';
 Json := Json + '"BarCode": "99999999999999999999","Read": 5}]}],"Observation": "Observação da Ordem para liberação."}';
 JsonToSend := TStringStream.Create(Json);
 AResponseContent := TStringStream.Create('');
 http := TIdHTTP.Create(Nil);
 Handler := TIdSSLIOHandlerSocketOpenSSL.Create(nil);
// Memo1.Lines.Clear;
 Try
  http.Request.CharSet := 'utf-8';
  http.Request.ContentType := 'application/json';
  http.Request.CustomHeaders.AddValue('AppKey', '58fb05c3-4e8b-4929-b7df-95bd261035c9');
  http.Request.CustomHeaders.AddValue('RequesterKey', '629eda6f-9df5-40e7-a94e-4c54cec83a15');
  http.IOHandler := Handler;

  http.Response.ContentType := 'applicattion/json';
  http.Response.CharSet := 'utf-8';
  Try
   http.Post('https://api.tudoentregue.com.br/v1/orders', JsontoSend, AResponseContent);
  Except
   On E: Exception Do
    Begin
     Memo1.Lines.Clear;
     Memo1.Lines.Add('Error on Response Code: ' + InttoStr(http.ResponseCode));
     Memo1.Lines.Add('Error on Response Text: ' + http.ResponseText);
     Memo1.Lines.Add('Error on Request: ' + sLineBreak + e.Message);
     exit;
    End;
  End;
  Memo1.Lines.Clear;
  Memo1.Lines.Add('Response Content: ' + AResponseContent.DataString);
  Memo1.Lines.Add('Response Code: ' + InttoStr(http.ResponseCode));
  Memo1.Lines.Add('Response Text: ' + http.ResponseText);
 Finally
  JsontoSend.Free;
  AResponseContent.Free;
  http.Free;
  Handler.Free;
 End;
end;
 

 

O arquivo JSon está correto porque foi enviado como exemplo pela empresa do software (ActiveCorp).

Se alguém puder me ajudar, ficarei muito grato.

Daniel

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...