Here's what I wrote for our app ($tUserName would be unique to you, along with
$tPassword and $tFromNumber). The method HTTP_Request_Build is just building a
text variable like:
"From=15555555555&To=15555555556&Body=This%20is%20the%20text"
String_FixURL is just a URL-encode method that Miyako posted awhile back
(included at the end of this message).
Also note that we're hard-coding the country code at '1' for US numbers only.
// Twilio_Send
//
// $1 - TEXT - SendTo phone number
// $2 - TEXT - Message to send
C_TEXT($1;$tSendToNumber)
C_TEXT($2;$tMessage)
$tSendToNumber:=$1
$tMessage:=$2
C_TEXT($tURI;$tUserName;$tPassword;$tPlugin;$tInfo;$tFromNumber;$tRequest;$tResponse)
C_LONGINT($lJson;$lHTTPStatus;$lTimeout;$lPort)
// Stuff unique to your Twilio account
$tUserName:="Your Twilio username"
$tPassword:="Your Twilio password"
$tFromNumber:="Your Twilio mobile account number"
$tURI:="https://api.twilio.com/2010-04-01/Accounts/"+\
$tUserName+"/Messages.json"
$tFromNumber:="+1"+$tFromNumber
$tSendToNumber:="+1"+$tSendToNumber
$tRequest:=""
HTTP_Request_Build (->$tRequest;"From";String_FixURL ($tFromNumber);"*")
HTTP_Request_Build (->$tRequest;"To";String_FixURL ($tSendToNumber);"*")
HTTP_Request_Build (->$tRequest;"Body";String_FixURL ($tMessage))
ARRAY TEXT($atHeaderNames;0)
ARRAY TEXT($atHeaderValues;0)
APPEND TO ARRAY($atHeaderNames;"content-type")
APPEND TO ARRAY($atHeaderValues;"application/x-www-form-urlencoded")
HTTP AUTHENTICATE ($tUserName;$tPassword;HTTP basic)
$lTimeout:=10
$lHTTPStatus:=HTTP Request (HTTP POST
method;$tURI;$tRequest;tResponse;$lTimeout;$atHeaderNames;$atHeaderValues)
// String_FixURL
//
// Returns urlencoded string in $0 from the string passed in $1
C_TEXT($0)
C_TEXT($1)
C_TEXT($escaped)
C_LONGINT($i)
C_BOOLEAN($shouldEscape)
C_BLOB($data)
For ($i;1;Length($1))
$char:=Substring($1;$i;1)
$code:=Character code($char)
$shouldEscape:=False
Case of
: ($code=45)
: ($code=46)
: ($code>47) & ($code<58)
: ($code>63) & ($code<91)
: ($code=95)
: ($code>96) & ($code<123)
: ($code=126)
Else
$shouldEscape:=True
End case
If ($shouldEscape)
CONVERT FROM TEXT($char;"utf-8";$data)
For ($j;0;BLOB size($data)-1)
$hex:=String($data{$j};"&x")
$escaped:=$escaped+"%"+Substring($hex;Length($hex)-1)
End for
Else
$escaped:=$escaped+$char
End if
End for
$0:=$escaped
> On Aug 5, 2019, at 1:00 PM, Jim Labos - infobase via 4D_Tech
> <[email protected]> wrote:
>
> I tried and was unsuccessful probably because of syntax so I gave up and
> moved on. I am trying Clickatell soon.
>
> If you have a working example for Twilio I would much appreciate looking at
> it.
**********************************************************************
4D Internet Users Group (4D iNUG)
Archive: http://lists.4d.com/archives.html
Options: https://lists.4d.com/mailman/options/4d_tech
Unsub: mailto:[email protected]
**********************************************************************