Chilkat HOME .NET Core C# Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi ActiveX Delphi DLL Go Java Lianja Mono C# Node.js Objective-C PHP ActiveX PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift 2 Swift 3,4,5... Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(C) WaTrend Send WhatsApp TextSee more WaTrend ExamplesSend a WhatsApp text.
#include <C_CkHttp.h> #include <C_CkHttpRequest.h> #include <C_CkStringBuilder.h> #include <C_CkHttpResponse.h> #include <C_CkJsonObject.h> void ChilkatSample(void) { HCkHttp http; BOOL success; HCkHttpRequest req; HCkStringBuilder sbUrl; const char *responseBodyStr; HCkHttpResponse resp; HCkStringBuilder sbResponseBody; int respStatusCode; HCkJsonObject jResp; const char *status; // This example assumes the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code. http = CkHttp_Create(); // Use your actual access token instead of 555555555555555555555555555555 req = CkHttpRequest_Create(); 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: sbUrl = CkStringBuilder_Create(); CkStringBuilder_Append(sbUrl,"https://app.watrend.com/api/send.php?"); CkStringBuilder_Append(sbUrl,CkHttpRequest_getUrlEncodedParams(req)); responseBodyStr = CkHttp_quickGetStr(http,CkStringBuilder_getAsString(sbUrl)); // The responseBodyStr contains the JSON response from the server.. // If a POST is needed, then it is sent like this: resp = CkHttp_PostUrlEncoded(http,"https://app.watrend.com/api/send.php",req); if (CkHttp_getLastMethodSuccess(http) == FALSE) { printf("%s\n",CkHttp_lastErrorText(http)); CkHttp_Dispose(http); CkHttpRequest_Dispose(req); CkStringBuilder_Dispose(sbUrl); return; } sbResponseBody = CkStringBuilder_Create(); CkHttpResponse_GetBodySb(resp,sbResponseBody); respStatusCode = CkHttpResponse_getStatusCode(resp); printf("Response Status Code = %d\n",respStatusCode); if (respStatusCode >= 400) { printf("Response Header:\n"); printf("%s\n",CkHttpResponse_header(resp)); printf("Failed.\n"); CkHttpResponse_Dispose(resp); CkHttp_Dispose(http); CkHttpRequest_Dispose(req); CkStringBuilder_Dispose(sbUrl); CkStringBuilder_Dispose(sbResponseBody); return; } printf("%s\n",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"} jResp = CkJsonObject_Create(); CkJsonObject_LoadSb(jResp,sbResponseBody); status = CkJsonObject_stringOf(jResp,"status"); printf("status: %s\n",status); CkHttpResponse_Dispose(resp); CkHttp_Dispose(http); CkHttpRequest_Dispose(req); CkStringBuilder_Dispose(sbUrl); CkStringBuilder_Dispose(sbResponseBody); CkJsonObject_Dispose(jResp); } |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.