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) MemberMouse -- getMember API CallDemonstrates how to use the getMember API call is used to retrieve information about an existing member's account. See MemberMouse getMember API call for more information.
#include <C_CkHttpRequest.h> #include <C_CkHttp.h> #include <C_CkHttpResponse.h> #include <C_CkJsonObject.h> void ChilkatSample(void) { HCkHttpRequest req; HCkHttp http; HCkHttpResponse resp; HCkJsonObject json; int i; int numBundles; // This example assumes the Chilkat HTTP API to have been previously unlocked. // See Global Unlock Sample for sample code. // Build the POST request to get a member's data. req = CkHttpRequest_Create(); // If your particular API URL is "https://mydomain.com/wp-content/plugins/membermouse/api/request.php", // then the Path part of the URL is "/wp-content/plugins/membermouse/api/request.php", // and the Domain part of the URL is "mydomain.com". // If "https" is used, then the port is 443 (not 80). CkHttpRequest_putHttpVerb(req,"POST"); // Use the Path part of your API_URL with "?q=/getMember". // The command, such as /getMember, /createMember, etc. goes in the Path. // The remainder of the POST arguments are query params that go in the body of the request. // (Do not put the apikey and apisecret in the Path because the secret will be exposed. // You want the confidential information to be in the body of the request.) CkHttpRequest_putPath(req,"/wp-content/plugins/membermouse/api/request.php?q=/getMember"); CkHttpRequest_putContentType(req,"application/x-www-form-urlencoded"); // Add the query params. // (Use your particular values in place of "MEMBERMOUSE_...") CkHttpRequest_AddParam(req,"apikey","MEMBERMOUSE_API_KEY"); CkHttpRequest_AddParam(req,"apisecret","MEMBERMOUSE_API_SECRET"); CkHttpRequest_AddParam(req,"email","some_member@somewhere.com"); http = CkHttp_Create(); // Use the Domain part of your API URL here: resp = CkHttp_SynchronousRequest(http,"mydomain.com",443,TRUE,req); if (CkHttp_getLastMethodSuccess(http) != TRUE) { printf("%s\n",CkHttp_lastErrorText(http)); CkHttpRequest_Dispose(req); CkHttp_Dispose(http); return; } json = CkJsonObject_Create(); CkJsonObject_Load(json,CkHttpResponse_bodyStr(resp)); CkJsonObject_putEmitCompact(json,FALSE); // A sample JSON response is shown below.. printf("%s\n",CkJsonObject_emit(json)); printf("Response Status Code: %d\n",CkHttpResponse_getStatusCode(resp)); // A response code of 200 is success. if (CkHttpResponse_getStatusCode(resp) == 200) { // Show a few values from the JSON.. printf("first_name: %s\n",CkJsonObject_stringOf(json,"response_data.first_name")); printf("last_name: %s\n",CkJsonObject_stringOf(json,"response_data.last_name")); // Iterate over the bundles. i = 0; numBundles = CkJsonObject_SizeOfArray(json,"response_data.bundles"); while (i < numBundles) { CkJsonObject_putI(json,i); printf("Bundle: %s\n",CkJsonObject_stringOf(json,"response_data.bundles[i].name")); i = i + 1; } } CkHttpResponse_Dispose(resp); // ---------------------------------------------------- // Sample JSON response for /getMember // ---------------------------------------------------- // { // "response_code": "200", // "response_message": "", // "response_data": { // "member_id": 59, // "first_name": "Jim", // "last_name": "Smith", // "is_complimentary": "false", // "registered": "2003-08-08 00:00:00", // "cancellation_date": "", // "last_logged_in": "2017-04-28 16:26:06", // "last_updated": "2017-04-28 16:26:06", // "days_as_member": 5013, // "status": "1", // "status_name": "Active", // "membership_level": "12", // "membership_level_name": "Expert Instructor", // "username": "JSmith", // "email": "some_member@somewhere.com", // "password": null, // "phone": "(618) 555-5555", // "billing_address": "555 Shady Lane", // "billing_city": "Wheaton", // "billing_state": "IL", // "billing_zip": "60187", // "billing_country": "United States", // "shipping_address": "555 Shady Lane", // "shipping_city": "Wheaton", // "shipping_state": "IL", // "shipping_zip": "60187", // "shipping_country": "United States", // "bundles": [ // { // "id": "6", // "name": "ABC Bundle", // "is_complimentary": "false", // "days_with_bundle": 2758, // "status": "1", // "status_name": "Active", // "date_added": "2009-10-10 00:00:00", // "last_updated": "2017-03-26 13:00:30" // }, // { // "id": "8", // "name": "XZ 2.0 Software License", // "is_complimentary": "false", // "days_with_bundle": 2758, // "status": "1", // "status_name": "Active", // "date_added": "2009-10-10 00:00:00", // "last_updated": "2017-03-26 13:00:30" // } // ], // "custom_fields": [ // { // "id": 1, // "name": "Class Location:", // "value": "" // }, // { // "id": 2, // "name": "Company", // "value": "Acme Interiors Inc" // }, // { // "id": 3, // "name": "Referred by:", // "value": "" // }, // { // "id": 4, // "name": "Sound Analysis Equipment", // "value": "AudioTools Sound Analyzer with HAA multi mic Kit" // }, // { // "id": 5, // "name": "HAA Member Number", // "value": "22222222" // }, // { // "id": 6, // "name": "Alumni Class Dates", // "value": "" // } // ] // } // } // CkHttpRequest_Dispose(req); CkHttp_Dispose(http); CkJsonObject_Dispose(json); } |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.