Ir para conteúdo
  • Cadastre-se

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

Recommended Posts

  • Solution
Postado

Boa tarde,

estou realizando a integração com a Api do Mercado Livre e não consigo realizar a carga do XML, sempre me retorna o erro: {"statusCode":400,"code":"bad_request","message":"Filename cannot be empty","requestId":"b70110a2-ed52-4d41-9125-e08d43c0a0fb"}

"Filename cannot be empty" - Gostaria de saber aonde informar o "Filename", segue meu código.

 

try
  dmML.ResetRESTComponentsToDefaults;
  //
  streamArquivo := TMemoryStream.Create;
  streamArquivo.LoadFromFile(strArquivoXML);
  streamArquivo.Position := 0;
  //
  dmML.RESTClientML.ContentType := 'multipart/form-data';
  dmML.RESTClientML.BaseURL := 'https://api.mercadolibre.com/';
  dmML.RESTRequestML.Resource := 'packs/' + strPackID + '/fiscal_documents';
  dmML.RESTRequestML.Method := TRESTRequestMethod.rmPOST;
  dmML.RESTRequestML.Params.Clear;
  dmML.RESTRequestML.Params.AddItem;
  dmML.RESTRequestML.Params.Items[0].name := 'fiscal_document';
  dmML.RESTRequestML.Params.Items[0].Value := strArquivoXML;
  dmML.RESTRequestML.Params.Items[0].ContentType := ctMULTIPART_FORM_DATA;
  dmML.RESTRequestML.Params.Items[0].Kind := pkFILE;
  dmML.RestRequestML.AddBody(streamArquivo, ctMULTIPART_FORM_DATA);
  dmML.RestRequestML.Execute;
  //
  Memo1.Text := dmML.RESTResponseML.Content.Trim;
except
  on E: Exception do
  begin
    MessageDlg(E.Message, mtError, [mbOK], 0);
  end;
end; 

Desde já agradeço.

  • 1 ano depois...
Postado

Bom dia, 

alterei o código para esse

dmML.ResetRESTComponentsToDefaults;

dmML.RESTClientML.ContentType := 'application/xml';
dmML.RESTClientML.BaseURL := 'https://api.mercadolibre.com/';
dmML.RESTRequestML.Resource := 'shipments/' + strShippingID + '/invoice_data?access_token=' + dmML.OAuth2AuthenticatorML.AccessToken + '&siteId=MLB';
dmML.RESTRequestML.Method := TRESTRequestMethod.rmPOST;
dmML.RESTRequestML.Params.Clear;
dmML.RestRequestML.AddBody(MemoXML.Text, ctAPPLICATION_XML);
dmML.RestRequestML.Execute;

MessageDlg(dmML.RESTResponseML.Content, mtInformation, [mbOK], 0);

e funcionou.

 

Espero que ajude!
 

  • Curtir 1
  • Este tópico foi criado há 923 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.
Visitante
Este tópico está agora fechado para novas respostas
×
×
  • 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...
The popup will be closed in 10 segundos...