Newsgroup: it.comp.lang.delphi
Titolo: Invio sms parte 2

Ciao a tutti,
   grazie ai vostri suggerimenti, letture varie ed utilizzo del rest 
debugger sono riuscito a capire (non totalmente) come si lavora con REST.
 
Mi rimane da "comprendere" l'invio del'sms.
Riporto l'esempio completo in csharp (dal loro sito
https://developers.skebby.it/?_ga=2.219328153.1049008826.1668593197-1190927089.1668008043&_gac=1.175433366.1668676352.EAIaIQobChMI4qf15--0-wIVCuZ3Ch21wQdLEAAYASAAEgJ3bPD_BwE#send-an-sms-message
 
)
 
 
namespace RestApplication
{
     class Program
     {
         static void Main(string[] args)
         {
             using (var wb = new WebClient())
             {
                 // Setting the encoding is required when sending UTF8 
characters!
                 wb.Encoding = System.Text.Encoding.UTF8;
 
                 try {
                     wb.Headers.Set(HttpRequestHeader.ContentType, 
"application/json");
                     wb.Headers.Add("user_key", "USER_KEY");
                     wb.Headers.Add("Session_key", "SESSION_KEY");
 
                 String payload = "{" +
                   "    \"message_type\": \"MESSAGE_TYPE\", " +
                   "    \"message\": \"Hello world!\", " +
                   "    \"recipient\": [" +
                   "        \"
+393471234567
\", " +
                   "        \"
+393471234568
\"" +
                   "    ], " +
                   "    \"sender\": \"MySender\", " +
                   "    \"scheduled_delivery_time\": \"20161223101010\", 
" +
                   "    \"order_id\": \"123456789\", " +
                   "    \"returnCredits\": true" +
                   "}";
 
                     String response = 
wb.UploadString("
https://api.skebby.it/API/v1.0/REST/sms
", "POST", payload);
 
                     dynamic obj = JsonConvert.DeserializeObject(response);
                     Console.WriteLine(obj);
                 } catch (WebException ex) {
                     var statusCode = 
((HttpWebResponse)ex.Response).StatusCode;
                     var errorResponse = new 
StreamReader(ex.Response.GetResponseStream()).ReadToEnd();
                     Console.WriteLine("Error!, http code: " + 
statusCode + ", body message: ");
                     Console.WriteLine(errorResponse);
                 }
             }
         }
     }
}
 
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?) e la riga UploadString, dove la devo 
digitare nel rest debugger?
 
Scusatemi se sono banalita' (per me non lo sono), ma non riesco a 
mandare questo sms.
 
Grazie a tutti
 
Ciao
Daniele

 wb.UploadString("
https://api.skebby.it/API/v1.0/REST/sms
", "POST", payload); 
 
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.

Puoi renderti conto di questa cosa in modo molto semplice...prova a fare una qualsiasi ricerca tipo 
booking.com
, italotreno etc. 

 4) payload lo scrivi nel memo custom content
 
Ti ringrazio per la spiegazione dettagliata, dove il ringraziamento e' 
riduttivo.
Con riferimento all'esempio, quello che loro chiamano "payload" e' un 
"record" json.
E' corretto il record che propongo (semprte dal loro esempio)?
Ho omesso scheduled_delivery_time ed order_id chwe son o flag che non 
interessano.
 
{
   "message_type"  : "SI"
   "message"       : "Test SMS"
   "recipient"     : [ "
+393471234567
",
                       "
+393471234568
"]
   "sender"        : "Me  stesso"
   "returnCredits" : "True"
}
 
Ho chiesto la possibilita' di fare dei test ....
su skebby ...
 
Ti aggiorno sui progressi.
 
Grazie ancora
 
Ciao
Daniele
 
 
 

Ciao Alberto (e tutti),
   sono riuscito ad inviarmi il messaggio dal rest debugger.
La stringa da inviare nel "body" deve essere cosi' formata (ho usato i 
soli token obbligatori):
 
{"message_type" : "MESSAGE_TYPE", "message" : "MESSAGE_TEXT", 
"recipient" : [INT_PREFIX + PHONE_NUMBER], "returnCredits" : true}
 
tutta su una riga, senza #13 o altri caratteri (sul loro server).
 
Adesso ho tutto per poter sostituire la vecchia procedura con quella nuova.
 
Ti ringrazio per la tua assistenza, sempre preziosa.
 
Ciao
Daniele