Sample code for 30+ languages & platforms
Visual FoxPro

WaTrend Send WhatsApp Text

See more WaTrend Examples

Send a WhatsApp text.

Chilkat Visual FoxPro Downloads

Visual FoxPro
LOCAL lnSuccess
LOCAL loHttp
LOCAL loReq
LOCAL loSbUrl
LOCAL lcResponseBodyStr
LOCAL loResp
LOCAL loSbResponseBody
LOCAL lnRespStatusCode
LOCAL loJResp
LOCAL lcStatus

lnSuccess = 0

* This example assumes the Chilkat API to have been previously unlocked.
* See Global Unlock Sample for sample code.

loHttp = CreateObject('Chilkat.Http')

* Use your actual access token instead of 555555555555555555555555555555
loReq = CreateObject('Chilkat.HttpRequest')
loReq.AddParam("number","84933313xxx")
loReq.AddParam("type","text")
loReq.AddParam("message","This is a test message")
loReq.AddParam("instance_id","609ACF283XXXX")
loReq.AddParam("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:
loSbUrl = CreateObject('Chilkat.StringBuilder')
loSbUrl.Append("https://app.watrend.com/api/send.php?")
loSbUrl.Append(loReq.GetUrlEncodedParams())
lcResponseBodyStr = loHttp.QuickGetStr(loSbUrl.GetAsString())
* The responseBodyStr contains the JSON response from the server..

loReq.HttpVerb = "POST"
loReq.ContentType = "application/x-www-form-urlencoded"

loResp = CreateObject('Chilkat.HttpResponse')
lnSuccess = loHttp.HttpReq("https://app.watrend.com/api/send.php",loReq,loResp)
IF (lnSuccess = 0) THEN
    ? loHttp.LastErrorText
    RELEASE loHttp
    RELEASE loReq
    RELEASE loSbUrl
    RELEASE loResp
    CANCEL
ENDIF

loSbResponseBody = CreateObject('Chilkat.StringBuilder')
loResp.GetBodySb(loSbResponseBody)

lnRespStatusCode = loResp.StatusCode
? "Response Status Code = " + STR(lnRespStatusCode)
IF (lnRespStatusCode >= 400) THEN
    ? "Response Header:"
    ? loResp.Header
    ? "Failed."
    RELEASE loHttp
    RELEASE loReq
    RELEASE loSbUrl
    RELEASE loResp
    RELEASE loSbResponseBody
    CANCEL
ENDIF

? loResp.BodyStr

* 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"}

loJResp = CreateObject('Chilkat.JsonObject')
loJResp.LoadSb(loSbResponseBody)

lcStatus = loJResp.StringOf("status")
? "status: " + lcStatus

RELEASE loHttp
RELEASE loReq
RELEASE loSbUrl
RELEASE loResp
RELEASE loSbResponseBody
RELEASE loJResp