Ir para conteúdo
  • Cadastre-se

dev botao

  • Este tópico foi criado há 1897 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

Postado

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

  • Este tópico foi criado há 1897 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
×
×
  • 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.