Envio para API via POST Request no Delphi
Bom dia, meus amigos!
Será que poderiam me ajudar neste impasse, por favor?
Estou testando uma API para cadastro de exames em hambiente de homologação.
Eu tento gerar um json no delphi para o envio deste exame, mas me retorna erro ao consumí-lo, mas me retorna erro.
Estou tentando o envio desta forma:
O exemplo que me deram, foi este:
Desde já agradeço a todos que puderem me ajudar e acredito que a ajuda possa vir a ser útil para mais alguém. Forte abraço!
Será que poderiam me ajudar neste impasse, por favor?
Estou testando uma API para cadastro de exames em hambiente de homologação.
Eu tento gerar um json no delphi para o envio deste exame, mas me retorna erro ao consumí-lo, mas me retorna erro.
Estou tentando o envio desta forma:
//POST Json:= ''[{''+ ''"TipoExame":"''+vTipo+''","Indicacao":"''+vIndicacao+''","ArquivosExame":"''+pdfLista.Text+''",''+ ''"DataExame":"''+vDataExame+''","NumeroControle":"''+vNumControle+''",''+ ''"Medico":{"Nome":"''+vMedico+''","Crm":"''+vCRM+''","Sexo":"''+vSexoMedico+''"},''+ ''"Paciente":{"Nome":"''+vNome+''","Altura":"''+FloatToStr(vAltura)+''","Peso":"''+FloatToStr(vPeso)+''",''+ ''"Rg":"''+vRG+''","Cpf":"''+vCPF+''","Sexo":"''+vSexo+''","DataNascimento:"''+vDataNasc+''"},''+ ''"EmpresaSolicitante":{"Nome":"''+Empresa+''"}''+ ''}]''; RESTRequestCadastro.AddBody(Json, TRESTContentType.ctAPPLICATION_JSON); RESTRequestCadastro.Execute;
O exemplo que me deram, foi este:
[ { TipoExame (Obrigatório): string Indicacao (Obrigatório): string ArquivosExame: [ string [URL] ] DataExame (Obrigatório): string (date-time (yyyy-mm-dd)) NumeroControle: string Medico: { Nome: string Crm: string Sexo: string } Paciente (Obrigatório): { Nome: string Altura: number (double) Peso: number (double) Rg: string Cpf: string Sexo (*): string DataNascimento: string (date-time (yyyy-mm-dd)) } EmpresaSolicitante (Obrigatório): { Nome: string } } ]
Desde já agradeço a todos que puderem me ajudar e acredito que a ajuda possa vir a ser útil para mais alguém. Forte abraço!
Caio Guimarães
Curtidas 0
Respostas
Alisson
30/08/2023
Bom dia, meus amigos!
Será que poderiam me ajudar neste impasse, por favor?
Estou testando uma API para cadastro de exames em hambiente de homologação.
Eu tento gerar um json no delphi para o envio deste exame, mas me retorna erro ao consumí-lo, mas me retorna erro.
Estou tentando o envio desta forma:
O exemplo que me deram, foi este:
Desde já agradeço a todos que puderem me ajudar e acredito que a ajuda possa vir a ser útil para mais alguém. Forte abraço!
Será que poderiam me ajudar neste impasse, por favor?
Estou testando uma API para cadastro de exames em hambiente de homologação.
Eu tento gerar um json no delphi para o envio deste exame, mas me retorna erro ao consumí-lo, mas me retorna erro.
Estou tentando o envio desta forma:
//POST Json:= ''[{''+ ''"TipoExame":"''+vTipo+''","Indicacao":"''+vIndicacao+''","ArquivosExame":"''+pdfLista.Text+''",''+ ''"DataExame":"''+vDataExame+''","NumeroControle":"''+vNumControle+''",''+ ''"Medico":{"Nome":"''+vMedico+''","Crm":"''+vCRM+''","Sexo":"''+vSexoMedico+''"},''+ ''"Paciente":{"Nome":"''+vNome+''","Altura":"''+FloatToStr(vAltura)+''","Peso":"''+FloatToStr(vPeso)+''",''+ ''"Rg":"''+vRG+''","Cpf":"''+vCPF+''","Sexo":"''+vSexo+''","DataNascimento:"''+vDataNasc+''"},''+ ''"EmpresaSolicitante":{"Nome":"''+Empresa+''"}''+ ''}]''; RESTRequestCadastro.AddBody(Json, TRESTContentType.ctAPPLICATION_JSON); RESTRequestCadastro.Execute;
O exemplo que me deram, foi este:
[ { TipoExame (Obrigatório): string Indicacao (Obrigatório): string ArquivosExame: [ string [URL] ] DataExame (Obrigatório): string (date-time (yyyy-mm-dd)) NumeroControle: string Medico: { Nome: string Crm: string Sexo: string } Paciente (Obrigatório): { Nome: string Altura: number (double) Peso: number (double) Rg: string Cpf: string Sexo (*): string DataNascimento: string (date-time (yyyy-mm-dd)) } EmpresaSolicitante (Obrigatório): { Nome: string } } ]
Desde já agradeço a todos que puderem me ajudar e acredito que a ajuda possa vir a ser útil para mais alguém. Forte abraço!
Para enviar uma solicitação POST para uma API em Delphi, você pode usar a biblioteca Indy (Internet Direct) para realizar a solicitação HTTP. Aqui está um exemplo de como fazer isso:
uses
SysUtils, Classes, IdHTTP;
procedure SendPOSTRequest(const URL: string; const POSTData: string);
var
IdHTTP1: TIdHTTP;
RequestBody: TStringStream;
begin
IdHTTP1 := TIdHTTP.Create(nil);
RequestBody := TStringStream.Create(POSTData);
try
IdHTTP1.Request.ContentType := 'application/x-www-form-urlencoded';
IdHTTP1.Request.CustomHeaders.Add('Authorization: Bearer SeuTokenAqui'); // Se necessário, adicione cabeçalhos de autenticação
// Realize a solicitação POST
IdHTTP1.Post(URL, RequestBody);
finally
IdHTTP1.Free;
RequestBody.Free;
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
// Exemplo de dados a serem enviados no corpo da solicitação POST
// Substitua isso com seus próprios dados em formato URL-encoded
SendPOSTRequest('https://api.example.com/endpoint', 'param1=valor1¶m2=valor2');
end;
Fonte: blog.tyttosoft.com.br
GOSTEI 0