Нужно отправить POST запрос
вот пример формирования
- Код: Выделить всё
- ...
 MyClient: TIdHTTP;
 ...
 procedure TForm1.Button3Click(Sender: TObject);
 var json, json1, json2: TJSONObject; serverResult, addr: string;
 begin
 addr:='https://test.test.ru/v4.0';
 try
 json2:=TJSONObject.Create(['id','25',
 'phone_number','74993334444']);
 json1:=TJSONObject.Create(['access_token','111222333444555666777888999000',
 'first_call','employee',
 'virtual_phone_number','7499445555',
 'contact','9132223333',
 'employee',json2]);
 json:= TJSONObject.Create(['jsonrpc','2.0',
 'method','start.employee_call',
 'id', 'req1',
 'params',json1]);
 ToSend := TStringList.create;
 ToSend.Text :=json.AsJSON ;
 ToSend.SaveToFile('T:\test_json_123.txt');
 MyClient.Request.ContentType:= 'application/json; charset=UTF-8';
 MyClient.Request.ContentLength:=Length(ToSend.Text);
 serverResult:= MyClient.Post(addr,ToSend);
 if serverResult = '200' then
 ShowMessage('POST запрос отправлен')
 else
 ErrorParse(serverResult);
 finally
 FreeAndNil(json)
 end;
 end;
--- данные в примере изменены
при выполнении возвращается сообщение об ошибке - 32700 Ошибки связанные с валидацией JSON
Отлов снифером показывает, что запрос уходит вот в таком виде
- Код: Выделить всё
- %7B+%22jsonrpc%22+%3A+%222.0%22%2C+%22method%22+%3A+%22start.employee_call%22%2C+%22id%22+%3A+%22req1%22%2C+%22params%22+%3A+.....
 и т.д.
то что не латиница кодируется это понятно, но откуда берутся знаки плюс ?
Как правильно формировать или настроить Indy компоненты чтобы json был корректным?


