Sample code for 30+ languages & platforms
Go

WaTrend Send WhatsApp Text

See more WaTrend Examples

Send a WhatsApp text.

Chilkat Go Downloads

Go
    success := false

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

    http := chilkat.NewHttp()

    // Use your actual access token instead of 555555555555555555555555555555
    req := chilkat.NewHttpRequest()
    req.AddParam("number","84933313xxx")
    req.AddParam("type","text")
    req.AddParam("message","This is a test message")
    req.AddParam("instance_id","609ACF283XXXX")
    req.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:
    sbUrl := chilkat.NewStringBuilder()
    sbUrl.Append("https://app.watrend.com/api/send.php?")
    sbUrl.Append(*req.GetUrlEncodedParams())
    responseBodyStr := http.QuickGetStr(*sbUrl.GetAsString())
    // The responseBodyStr contains the JSON response from the server..

    req.SetHttpVerb("POST")
    req.SetContentType("application/x-www-form-urlencoded")

    resp := chilkat.NewHttpResponse()
    success = http.HttpReq("https://app.watrend.com/api/send.php",req,resp)
    if success == false {
        fmt.Println(http.LastErrorText())
        http.DisposeHttp()
        req.DisposeHttpRequest()
        sbUrl.DisposeStringBuilder()
        resp.DisposeHttpResponse()
        return
    }

    sbResponseBody := chilkat.NewStringBuilder()
    resp.GetBodySb(sbResponseBody)

    respStatusCode := resp.StatusCode()
    fmt.Println("Response Status Code = ", respStatusCode)
    if respStatusCode >= 400 {
        fmt.Println("Response Header:")
        fmt.Println(resp.Header())
        fmt.Println("Failed.")
        http.DisposeHttp()
        req.DisposeHttpRequest()
        sbUrl.DisposeStringBuilder()
        resp.DisposeHttpResponse()
        sbResponseBody.DisposeStringBuilder()
        return
    }

    fmt.Println(resp.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"}

    jResp := chilkat.NewJsonObject()
    jResp.LoadSb(sbResponseBody)

    status := jResp.StringOf("status")
    fmt.Println("status: ", *status)

    http.DisposeHttp()
    req.DisposeHttpRequest()
    sbUrl.DisposeStringBuilder()
    resp.DisposeHttpResponse()
    sbResponseBody.DisposeStringBuilder()
    jResp.DisposeJsonObject()