Ohne weitere Recherche der Vorgaben und ohne Testmöglichkeit hätte ich jetzt diesen Ansatz gewählt:
Delphi-Quellcode:
RESTClient1.BaseURL := '
https://api.pay1.de';
RESTRequest1.Resource := '
post-gateway';
RESTRequest1.Method := rmPOST;
RESTRequest1.AddParameter( '
mid', '
88888');
RESTRequest1.AddParameter( '
portalid', '
88888');
RESTRequest1.AddParameter( '
key', '
0123456789abcdef0123456789abcdef');
RESTRequest1.AddParameter( '
api_version', '
3.11');
RESTRequest1.AddParameter( '
mode', '
live');
RESTRequest1.AddParameter( '
request', '
getuser');
RESTRequest1.AddParameter( '
encoding', '
UTF-8');
RESTRequest1.AddParameter( '
aid', '
88888');
RESTRequest1.AddParameter( '
type', '
userdata');
RESTRequest1.AddParameter( '
customerid', '
88888');
RESTRequest1.Execute;
Natürlich klappt das mit den obigen Daten erstmal nicht. Daher kann ich es auch nicht testen.
Das TRESTRequest.Execute überschreibt einige Parameter des Clients. Daher müssen diese Werte beim Request angegeben werden: Accept, HandleRedirects, AllowCookies, AcceptCharset, AcceptEncoding, ConnectTimeout, ReadTimeout
Der Default für den dritten und vierten Parameter bei AddParameter ist eh schon pkGETorPOST und []. Daher kann man die weglassen.
Der ContentType wird ebenfalls beim Execute intern anhand der übergebenen Parameter ermittelt. Bei rmPOST und pkGETorPOST wird schon der ContentType ctAPPLICATION_X_WWW_FORM_URLENCODED verwendet. Man braucht das also nicht mehr setzen (abgesehen davon, dass man das zumindest in 10.4.2 gar nicht kann).