Per prima cosa, ancor prima di gurdare REST, ti suggerisco di leggere qualcosa sul protocollo HTTP.
intanto mettismo qualche punto fermo.
Una richiesta HTTP "GET" si porta dietro i parametri insieme all'URL.
Puoi renderti conto di questa cosa in modo molto semplice...prova a fare una qualsiasi ricerca tipo
bollong.com, italotreno etc.
Tu imposti dei filtri e i filtri che hai impostato passanno come tuple chiave+valore accodate all'URL.
Avrai quindi un URL http tipo
http://sarkaz?campo1=pippo&campo2=pluto etc etc etc
Una richiesta HTTP "POST" si porta dietro i parametri nel "body" e non accodati all'URL.
Questa cosa, nel codice c#, la vedi su questa riga qua, dove è scritto senza mezzi termini "POST":
Riguardo le tue domande specifiche, posso aiutarti poco...
Ho usato REST in c# e Java ma mai in delphi; aggiungo che hodato un occhiata molto superificale alla implementazione REST di delphi e non mi ha convinto.
Veniamo a noi.
WebClient credo che in delphi sia TRestClient
Encoding è gestito da TRestRequest.AcceptCharset.
L'autenticazione che in c# è gestita in modo esplicito sull'header della richiesta HTTP, in delphi lo gestisci con una delle classi che trovi descritte qua:
https://docwiki.embarcadero.com/RADStudio/Sydney/en/REST_Client_Library
Poi, in c# mandi direttamente un JSON, mentre in delphi passi da una TRESTRequest, anch'essa descritta al link qui sopra.
Riguardo questa cosa qua sotto:
> ((HttpWebResponse)ex.Response).StatusCode;
Statuscode è un errore HTTP; questi errori sono standard e in giro trovi n-mila siti con l'elenco.
E' IMPORTANTE CHE TU CAPISCA CHE HTTP E' STANDARD E CHE REST SI BASA SU HTTP.
CHE TU STIA SCRIVENDO CODICE C#, JAVA, PYTHON, PHP, DELPHI ETC, STAI USANDO DEI WRAPPER, CHE POSSONO ESSERE IMPLEMENTATI PIU' O MENO BENE.
DA QUI L'INSISTENZA AD ACQUISIRE LE BASI DI HTTP.
Per quanto riguarda il RESTDebugger, presumo che la stringa payload debba essere inserita nel memo etichettato come "custom body".
> Quello che non riesco a capire e' la stringa "payload" ovvero come si
> deve presentare (alla fine inserite le variabili ed il corretto numero
> di cellulare, come si presenta?)
Dire "stringa" è riduttivo. Quella che tu chiami stringa è la SERIALIZZAZIONE JSON di un oggetto.
In pratica una richiesta REST è descritta da un oggetto e quando chiami un REST gli mandi questo oggetto serializzato.
Nota che in genere con REST si ua JSON ma il servizio lato server può essere configurato per accettare anche XML...
Nel tuo caso, quel pacchetto JSON descrive una classe che ha queste property:
Type
TXXSMSrequest = class
public
property Message_Type: string;
property Message: string;
property Recipients: TStringList;
property Sender: string;
property Schedudeled_Delivery_Time: TDateTime;
property OrderId: string;
property ReturnCredits: boolean;
> e la riga UploadString, dove la devo > digitare nel rest debugger?
Intanto, è bene svegliarsi un pochino e spiegarsi meglio:
1) UploadString è un METODO DELLA CLASSE C# WebClient, quindi chiedere "dove digitare uploadstring" non ha senso.
2) l'URL lo scrivi nell'edit URL
3) la parola "POST" la scegli dalla combobox
4) payload lo scrivi nel memo custom content
A.