Tcl
Tcl
WaTrend Send WhatsApp Text
See more WaTrend Examples
Send a WhatsApp text.Chilkat Tcl Downloads
load ./chilkat.dll
set success 0
# This example assumes the Chilkat API to have been previously unlocked.
# See Global Unlock Sample for sample code.
set http [new_CkHttp]
# Use your actual access token instead of 555555555555555555555555555555
set req [new_CkHttpRequest]
CkHttpRequest_AddParam $req "number" "84933313xxx"
CkHttpRequest_AddParam $req "type" "text"
CkHttpRequest_AddParam $req "message" "This is a test message"
CkHttpRequest_AddParam $req "instance_id" "609ACF283XXXX"
CkHttpRequest_AddParam $req "access_token" "555555555555555555555555555555"
# Note: The WaTrend online documentation indicate a POST should be used.
# However, it seems you might actually need to send a GET request.
# It is unclear.
# If a GET is neeed, you would just send to the URL w/ query params like this:
set sbUrl [new_CkStringBuilder]
CkStringBuilder_Append $sbUrl "https://app.watrend.com/api/send.php?"
CkStringBuilder_Append $sbUrl [CkHttpRequest_getUrlEncodedParams $req]
set responseBodyStr [CkHttp_quickGetStr $http [CkStringBuilder_getAsString $sbUrl]]
# The responseBodyStr contains the JSON response from the server..
CkHttpRequest_put_HttpVerb $req "POST"
CkHttpRequest_put_ContentType $req "application/x-www-form-urlencoded"
set resp [new_CkHttpResponse]
set success [CkHttp_HttpReq $http "https://app.watrend.com/api/send.php" $req $resp]
if {$success == 0} then {
puts [CkHttp_lastErrorText $http]
delete_CkHttp $http
delete_CkHttpRequest $req
delete_CkStringBuilder $sbUrl
delete_CkHttpResponse $resp
exit
}
set sbResponseBody [new_CkStringBuilder]
CkHttpResponse_GetBodySb $resp $sbResponseBody
set respStatusCode [CkHttpResponse_get_StatusCode $resp]
puts "Response Status Code = $respStatusCode"
if {$respStatusCode >= 400} then {
puts "Response Header:"
puts [CkHttpResponse_header $resp]
puts "Failed."
delete_CkHttp $http
delete_CkHttpRequest $req
delete_CkStringBuilder $sbUrl
delete_CkHttpResponse $resp
delete_CkStringBuilder $sbResponseBody
exit
}
puts [CkHttpResponse_bodyStr $resp]
# Both success and failed responses use 200 status code.
# A success response contains this JSON in the response body:
# {"status":"success", ... }
# A failed response will contain something like this:
# {"status":"error","message":"License Invalidated"}
set jResp [new_CkJsonObject]
CkJsonObject_LoadSb $jResp $sbResponseBody
set status [CkJsonObject_stringOf $jResp "status"]
puts "status: $status"
delete_CkHttp $http
delete_CkHttpRequest $req
delete_CkStringBuilder $sbUrl
delete_CkHttpResponse $resp
delete_CkStringBuilder $sbResponseBody
delete_CkJsonObject $jResp