Isso mesmo..
begin
iJSONEnviar := TIdMultiPartFormDataStream.Create;
Json := ('{"merchantId": xxxxxx,' + //ID do Restaurante (MerchantID)",
'"externalCode":"311",' + //COD PDV, código do sistema
'"availability": "AVAILABLE",' + //Disponibilidade do item, AVAILABLE OU UNAVAILABLE
'"name": "X BURGUER - TESTE 2",' + //Nome do Item,
'"description": "xxxxxx",' + //Descrição do Item (Composição)
'"order": 2,' + //Ordem para o item aparecer no cardápio
'"schedules": [],' +
'"price":{' +
'"originalValue": 0,' +//Valor Original do Item (Somente preencher caso o item estiver em promoção)
'"promotional": false,' + //Item está em promoção? True ou False
'"value": 12.50}'+
'}'); //Valor do item (Valor que vai para aparecer na plataforma Ifood)
IdHTTPConexao := TidHTTP.Create;
iJSONEnviar.AddFormField('sku', Json, 'utf-8', 'application/json').ContentTransfer := '8bit';
try
try
with IdHTTPConexao do
begin
Request.Clear;
Request.ContentType := 'multipart/form-data; boundary=' + iJSONEnviar.Boundary;
Request.Charset := 'UFT-8';
ProtocolVersion := pv1_1;
Request.CustomHeaders.Clear;
Request.CustomHeaders.AddValue('Content-Type', 'multipart/form-data');
Request.CustomHeaders.AddValue('Authorization', 'Bearer '+Token);
Response.ContentType := 'application/json';
Response.CharSet := 'UFT-8';
Post('https://pos-api.ifood.com.br/v1.0/skus', iJSONEnviar);
Result:='ok';
end;
except on E: EIdHTTPProtocolException do
Result:=IntToStr(E.ErrorCode);
end;
finally
IdHTTPConexao.Free;
jsonObject.Free;
end;
Devolve sempre erro 415.....