spikey wrote: Mon Sep 09, 2024 11:40 am...It's expecting an array for "MobileNumber", I'm guessing it's expecting something like:
Code: Select all
{
"Message" : "message",
"MobileNumber" : [
"123",
"456",
"7890"
],
"SendToBlocksNumber": true,
"SenderNumber" : "sendermobilenumber"
}
Try this, then:
Code: Select all
#http = "https://"
#host = "api.smspanel.com"
#apiURL = "/api/sendsms"
#q = #DOUBLEQUOTE$
Macro stringify(key, value)
#q + key + #q + ":" + #q + value + #q
EndMacro
Macro stringify_v(key, value)
#q + key + #q + ":" + value
EndMacro
Procedure.s stringify_a(key.s, values.s)
value.s = #q + key + #q + ":["
For i = 1 To CountString(values, ",") + 1
value + #q + StringField(values, i, ",") + #q + ","
Next i
value = RTrim(value, ",")
value + "]"
ProcedureReturn value
EndProcedure
message.s = "Hello, World!"
mobile.s = "123,456,7890"
query.s = "{"
query + stringify("Message", message) + ","
query + stringify("SenderNumber", "sendermobilenumber") + ","
query + stringify_a("MobileNumber", mobile) + ","
query + stringify_v("SendToBlocksNumber", "true")
query + "}"
apiUrl.s = #http + #host + #apiURL
queryLen.s = Str(StringByteLength(query, #PB_UTF8))
NewMap headers.s()
headers("Host") = #host
headers("Connection") = "close"
headers("User-Agent") = "PureBasic Network Client"
headers("Content-Type") = "application/json"
headers("Content-Length") = queryLen
httpRequest = HTTPRequest(#PB_HTTP_Post, apiURL, query, #Null, headers())
The query output will look like this:
Code: Select all
{"Message":"Hello, World!","SenderNumber":"sendermobilenumber","MobileNumber":["123","456","7890"],"SendToBlocksNumber":true}