Точно нету?)
Обычно должно быть там где описывается какие параметры отправлять и т.д.
Точно нету… Позвонил эту госудаствени кантора (на телефоне отвечает женщина ) она не может отвечать на моего вопроса и говорят что я отправил всё подробно на почте…
Знаешь что странно и обидно . Я предлагаю им что давались доступ на их СУБД и я без этого линковал бы на их субд написал бы триггер что при каждом INSERT -е передалось бы данных у них… Зачем бы это дебилства ? Если бы они не дают доступ на свой сервере - Я магу давать доступ только для чтения -чтобы при SELECT -собрали данных , даже я готов написать этот запрос… Зачем это нужно когда прямо можно из субд отправить данных на другом субд…
Ну так сейчас редко делают, обычно прямой доступ к БД вообще закрыт извне.
Этого может быть недостаточно.
Например, если каждому пользователю должны быть доступны только связанные с ним данные, то получив доступ к таблицам он получит доступ и к чужим данным.
Да и тут же нужны были бы и права на запись, если
Не знаю может и так . Но мне по другому кажется ладно дружащий - спасибо вам огромное . напишу у них что мои “творение” не заработало - всё подробно как и есть… Надеюсь что они мне что то полезного скажут .
Оно там может как-нибудь по-другому называться, например, “ресурс”.
Но вообще обычно документация выглядит примерно так:
Смотрю ваши картинку…
– Перехожу на сайте у меня
– На 1-ом картинке когда я захожу на сервере . на 2-ом когда я авторизовался
– Смотрю URL и сравниваю - они одинаковы
Это URL который при авторизации . Не понял где смотреть тот url который надо передать put
Что то нашел на сайте - силка на docs
наверно это ? попробую
,"/api/test/branches/{branchNo}/customers/{customerMiaId}/items/{itemMiaId}":{"put":{"tags":["Customers"],"summary":"
А где про этот запрос написано?
Оно наверно внизу, внутри секций Customers, Report и т.д.
[Alex P.] у меня “вопрос” помните, пока я разобрал авторизации через Delphi вы мне показались как проверить запрос на
curl
-d “username=xx@gmail.com”
-d “password=xxx”
Я проверял параметры авторизации через curl и увиделись что всё правильно и потом начинал реализовать через Delphi . Есть такой утилит где можно проверять после авторизации параметров передача данных ?
{
"birthDate": "2021-03-20",
"citizenship": "GEO",
"customerId": "string",
"firstName": "string",
"itemList": [
{
"createDate": "2021-03-20",
"currency": "GEL",
"info": "string",
"itemId": "string",
"photos": [
{
"data": "R0lGODdhAQABAPAAAP8AAAAAACwAAAAAAQABAAACAkQBADs=",
"name": "Kohinoor.jpeg"
}
],
"price": "string",
"subType": "string",
"type": "string"
}
],
"lastName": "string",
"personalNo": "string",
"phone": "string",
"realAddress": "string"
}
и URL
/api/test/branches/{branchNo}/customers
Просто документация который на сайте у них ! Там по другому JSON скрипт и URL тоже .! А документации который передали .PDF там по другому - и есть путаница какой параметр надо передать каким URL-ом… можно или нет протестировать это JSON и URL без Delphi хочу понят у меня JSON параметре ошибка ? или URL-е или на Delphi
Постман удобнее всего, там можно сохранять запросы и т.д.
Авторизация как на скриншоте по идее должна работать Delphi авторизация на сайте https - #12 от пользователя xxbesoxx
Может например это не было указано?
Спасибо, буду проверять если будет вопроси напишу … Удачного вам дня
Переделал код вот так , просто передаю JSON через SuperObject.pas написал у них - чтобы проверяли (приходит или нет данных который я отправляю) ответили что: данных они получает, просто иероглифы приходит и надо передать данных через кодировку UTF-8 и всё будет нормально рабочий код выложу : Пожалуйста
procedure TForm1.Button1Click(Sender: TObject);
var
MyParams : TStringList;
//--- JSON
JSONObject, RequestBody: ISuperObject;
//--- Для отправка данных на сервере
SendJS: TStringStream;
begin
try
// ---TStringList Создать
MyParams:= TStringList.Create;
//---- Всё параметри внимательно
MyParams.Add('username=xxxxxxxxx@gmail.com') ;
MyParams.Add('password=***********');
MyParams.Add('client_id=lombard-service') ;
MyParams.Add('client_secret=7676a315-eb0e-4123-bcbf-e5ee8710a422');
MyParams.Add('grant_type=password') ;
//--------HandleRedirects := true; ----------------------
IdHTTP1.HandleRedirects := true;
// --------Только это для SSL -----------
IdHTTP1.IOHandler := IdSSLIOHandlerSocketOpenSSL1;
//--Без этого тоже работает. Но я добавил что запрос отправил utf-8 -------------------
IdHTTP1.Request.ContentType := 'application/x-www-form-urlencoded';
IdHTTP1.Request.Charset := 'utf-8';
// Хранить тексть запроса на
Memo1.Text := IdHTTP1.Post('https://accounts.police.ge/auth/realms/company/protocol/openid-connect/token', MyParams);
//--------Создать----------
JSONObject:=TSuperObject.Create;
//---Передать все тексть
JSONObject:=SO(Memo1.Text);
//----Получить только access_token Memo2.Text
Memo2.Text:=JSONObject.S['access_token'];
finally
MyParams.Free;
end;
//--------------------------------
idHTTP1.Request.Clear;
//------------
idHTTP1.Request.CustomHeaders.FoldLines := False; // access_token передаю из Memo2.Text
idHTTP1.Request.CustomHeaders.Values['Authorization'] := 'Bearer ' + Memo2.Text;
//----------------------------------------------------------------
if Trim(Memo2.Text)<> '' then
begin
try
RequestBody := SO ('{"personalNo": "31001057491", '+
' "firstName": "Имя", '+
' "lastName": "Фамилия", '+
' "birthDate": "2021-03-18", '+
' "citizenship": "USD", '+
' "phone": "577397046", '+
' "realAddress": "Адрес клиента", '+
' "customerId": "65152", '+
' "itemList": [ '+
' { "type": "itemTechnic", '+
' "subType": "Название", '+
' "createDate": "2021-03-18", '+
' "brand": "Apple", '+
' "model": "iPhone 12", '+
' "serialNumber": "123456789", '+
' "price": "250.00", '+
' "currency": "USD", '+
' "info": "какой то коментар", '+
' "itemId": "1296", '+
' "photos": [ '+
' { '+
' "data": "R0lGODdhAQABAPAAAP8AAAAAACwAAAAAAQABAAACAkQBADs=", '+
' "name": "Kohinoor.jpeg" '+
' } '+
' ], '+
' }]} ');
SendJS := TStringStream.Create(RequestBody.AsString);
idHTTP1.Request.ContentType := 'application/json';
idHTTP1.Request.ContentEncoding := 'utf-8';
idHTTP1.post('https://api.pol.ge/api/test/branches/1/customers', SendJS );
except
raise Exception.Create('Ошибка передачу JSON параметров');
end;
end;
end;
Вроде я указал UTF-8 не знаю почему так… Но с этом я разберусь удачного всем дня .
@xxbesoxx, а Delphi у Вас какая версия? Если старенькая (до 2010), то там строки по умолчанию не уникодные, нужно перекодировать.
Для отладки сохраните вашу строчку с JSON в текстовый файл и посмотрите, какая там будет кодировка у русских (или грузинских ;)) буковок.
У меня XE3 просто я забил перекодировать JSON вот TEncoding.UTF8
SendJS := TStringStream.Create(RequestBody.AsString , TEncoding.UTF8);
У всё нормально работает … Удачного всем дня ребята и спасибо всем