Here is my C# code
var UriBuilder = new UriBuilder("http://smsgateway.me/api/v3/messages/send/");
var parameters = HttpUtility.ParseQueryString(string.Empty);
parameters["email"] = MainDataSource.CreateNavigator().SelectSingleNode("/my:myFields/my:email", NamespaceManager).Value;
parameters["password"] = MainDataSource.CreateNavigator().SelectSingleNode("/my:myFields/my:password", NamespaceManager).Value;
parameters["device"] = MainDataSource.CreateNavigator().SelectSingleNode("/my:myFields/my:device", NamespaceManager).Value; ;
parameters["number"] = "123456789";//any number
parameters["message"] = MainDataSource.CreateNavigator().SelectSingleNode("/my:myFields/my:SMS_TO_BE_SENT", NamespaceManager).Value; ;
UriBuilder.Query = parameters.ToString();
//UriBuilder.Fragment = "some_fragment";
Uri finalUrl = UriBuilder.Uri;
var request = WebRequest.Create(finalUrl);
// Get the response.
WebResponse result = request.GetResponse();
And here is sample PHP code
<?php
include "smsGateway.php";
$smsGateway = new SmsGateway('[email protected]', 'password');
$deviceID = 1;
$numbers = ['+44771232343', '+44771232344'];
$message = 'Hello World!';
$options = [
'send_at' => strtotime('+10 minutes'), // Send the message in 10 minutes
'expires_at' => strtotime('+1 hour') // Cancel the message in 1 hour if the message is not yet sent
];
//Please note options is no required and can be left out
$result = $smsGateway->sendMessageToManyNumbers($number, $message, $deviceID, $options);
?>
The number in the PHP example is an array. How can I pass an array in the query string using HttpUtility.ParseQueryString?