Alex2013 писал(а):Проблема ssl ?  ssleay32.dll и libeay32.dll доступны ? ( и актуальных  версий )
Synapse использует OpenSSL, и компилировать его (synapse) в свой проект, нужно с поддержкой конкретной версии, по умолчанию там версия 1.0, с которой уже ни куда не законнектишься, для примера у меня используется OpenSSL 1.1, под windows это будут 2 либы, можно скачать инсталлятор с официального сайта и установить всё в системный каталог, но япредпочитаю таскать либы с собой без установок:
libssl-1_1-x64.dll
libcrypto-1_1-x64.dll
По линуксом соответственно в системном каталоге библиотеки с именами по умолчнию, устанавливаются из репозитория при установке OpenSSL 1.1 штатными средствами:
libssl.so.1.1
libcrypto.so.1.1
пробовал использовать synapse с OpenSSL 3, откатился обратно, не везде поддерживается. 
Для использования нужной версии в своем проекте просто добавьте в раздел uses:
- Код: Выделить всё
- uses httpsend, FileUtil, ftpsend, pop3send, mimemess, mimepart,
 synachar, imapsend, dpEvnthadlrs, synaser, Forms, LazUTF8,
 ssl_openssl11, ssl_openssl11_lib;
Эти файлы: ssl_openssl11, ssl_openssl11_lib поставляются с исходниками Synapse, соответственно если нужно добавить поддержку OpenSSL 3, то файлы нужно будет заменить на ssl_openssl3, ssl_openssl3_lib.
Если дело в ssl, то скорее всего вы бы не смогли сам запрос выполнить, если запрос выполняется, то дело не в ssl.
Ниже вытащил пример нормализации адреса через dadata из своего рабочего проекта c использованием Synapse, но код на Дизель-Паскале.
- Код: Выделить всё
- method TNormalAdres.ExecNormalDadata(Adres, Token, Key: string): Boolean;
 var
 HTTP: THTTPSend;
 //SL: TStringList;
 Arr: TJSONArray;
 Parser: TJSONParser;
 OBJ: TJSONObject;
 begin
 Result = False;
 Clear;
 
 Checked = False;
 qc_complete = -1;
 qc_house = -1;
 qc = -1;
 
 URL = 'https://cleaner.dadata.ru/api/v1/clean/address';
 HTTP = THTTPSend.Create;
 Arr = TJSONArray.Create;
 try
 Arr.AddStr(Adres);
 Request.Text = Arr.AsJSON;
 
 //AddInfoText(SL.Text);
 
 //AddInfoText('Отправка запроса');
 
 HTTP.Headers.Clear;
 HTTP.MimeType = 'application/json';
 HTTP.Headers.Add('Content-Type: application/json');
 HTTP.Headers.Add('Accept: application/json');
 HTTP.Headers.Add('Authorization: Token ' + Token);
 HTTP.Headers.Add('X-Secret: ' + Key);
 Request.SaveToStream(HTTP.Document);
 HTTP.Document.Seek(0, soBeginning);
 HTTP.HTTPMethod('POST', URL);
 
 
 if HTTP.ResultCode = 200 then
 HTTP.Document.Seek(0, soBeginning);
 Respons.LoadFromStream(HTTP.Document);
 OBJ = nil;
 Parser = TJSONParser.Create(Respons.Text);
 try
 Arr.Free;
 Arr = nil;
 
 Arr = Parser.Parse As TJSONArray;
 OBJ = Arr.Objects[0];
 qc_complete = OBJ.Integers['qc_complete'];
 qc_house = OBJ.Integers['qc_house'];
 qc = OBJ.Integers['qc'];
 qc_geo = OBJ.Integers['qc_geo'];
 
 if not OBJ.Nulls['postal_code'] then
 PIndex = OBJ.Strings['postal_code'];
 end;
 if not OBJ.Nulls['region_with_type'] then
 FRegion = OBJ.Strings['region_with_type'];
 end;
 if not OBJ.Nulls['area_with_type'] then
 FArea = OBJ.Strings['area_with_type'];
 end;
 if not OBJ.Nulls['city'] then
 FPlase = OBJ.Strings['city'] + ' ' + OBJ.Strings['city_type'];
 PlaceGuid = OBJ.Strings['city_fias_id'];
 end;
 if not OBJ.Nulls['settlement'] then
 FLocation = OBJ.Strings['settlement'] + ' ' + OBJ.Strings['settlement_type'];
 if PlaceGuid = '' then
 PlaceGuid = OBJ.Strings['settlement_fias_id'];
 end;
 if FPlase = '' then
 FPlase = FLocation;
 FLocation = '';
 end;
 end;
 if not OBJ.Nulls['street'] then
 FStreet = OBJ.Strings['street'] + ' ' + OBJ.Strings['street_type'];
 end;
 if not OBJ.Nulls['house'] then
 FHouse = OBJ.Strings['house'];
 end;
 if not OBJ.Nulls['block'] then
 FCorpus = OBJ.Strings['block'];
 end;
 if not OBJ.Nulls['flat'] then
 FRoom = OBJ.Strings['flat'];
 end;
 if not OBJ.Nulls['postal_box'] then
 AdresTypeID = 1;
 AdresType = 'PO_BOX';
 FNumAdresType = OBJ.Strings['postal_box'];
 end;
 case qc of
 1:
 begin
 Err = 'Остались лишние части';
 if not OBJ.Nulls['unparsed_parts'] then
 Err = Err + ''#13#10;
 UnparsedParts = OBJ.Strings['unparsed_parts'];
 Err = Err + UnparsedParts;
 Err = Err + ''#13#10;
 end;
 end;
 2: Err = 'Адрес пустой или заведомо мусорный или недостаточно данных для разбора';
 3: Err = 'Есть альтернативные варианты адреса';
 end;
 
 case qc_complete of
 0: begin
 Checked = True;
 Result = True;
 end;
 1: Err += 'Нет региона';
 2: Err += 'Нет города';
 3: Err += 'Нет улицы';
 4: Err += 'Нет дома';
 5: Err += 'Под вопросом. Нет квартиры. Подходит для юридических лиц или частных владений';
 6: Err += 'Адрес неполный';
 7: Err += 'Иностранный адрес';
 8: Err += 'Под вопросом.   До почтового отделения — абонентский ящик или адрес до востребования. Подходит для писем, но не для курьерской доставки.';
 9: Err += 'Под вопросом.   Нет уверенности в правильном распознавании адреса';
 10: Err += 'Под вопросом.   Дома нет в ФИАС';
 else
 Err += 'Адрес не распознан';
 end;
 if qc_complete > 0 then
 if qc_house <> 2 then
 if Err <> '' then Err = Err + ''#13#10 end;
 Err = Err + 'Дом не найден в фиас';
 if qc_geo = 0 then
 Err = Err + ' но найден на картах'
 elseif qc_geo = 1 then
 Err = Err + ' но найден похожий на картах'
 elseif qc_geo >= 2 then
 Err = Err + ' и не найден на картах';
 end;
 
 end;
 end;
 //AddInfoText(OBJ.FormatJSON);
 finally
 Parser.Free;
 end;
 else
 AddInfoText(IntToStr(HTTP.ResultCode) + ', ' + HTTP.ResultString);
 AddInfoText(Respons.Text);
 end;
 
 finally
 Arr.Free;
 HTTP.Free;
 end;
 end;