Chilkat HOME Android™ Classic ASP C C++ C# Mono C# .NET Core C# C# UWP/WinRT DataFlex Delphi ActiveX Delphi DLL Visual FoxPro Java Lianja MFC Objective-C Perl PHP ActiveX PHP Extension PowerBuilder PowerShell PureBasic CkPython Chilkat2-Python Ruby SQL Server Swift 2 Swift 3,4,5... Tcl Unicode C Unicode C++ Visual Basic 6.0 VB.NET VB.NET UWP/WinRT VBScript Xojo Plugin Node.js Excel Go
(MFC) 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 <CkHttpRequest.h> #include <CkHttp.h> #include <CkHttpResponse.h> #include <CkJsonObject.h> void ChilkatSample(void) { CkString strOut; // 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. CkHttpRequest req; // 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). req.put_HttpVerb("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.) req.put_Path("/wp-content/plugins/membermouse/api/request.php?q=/getMember"); req.put_ContentType("application/x-www-form-urlencoded"); // Add the query params. // (Use your particular values in place of "MEMBERMOUSE_...") req.AddParam("apikey","MEMBERMOUSE_API_KEY"); req.AddParam("apisecret","MEMBERMOUSE_API_SECRET"); req.AddParam("email","some_member@somewhere.com"); CkHttp http; // Use the Domain part of your API URL here: CkHttpResponse *resp = http.SynchronousRequest("mydomain.com",443,true,req); if (http.get_LastMethodSuccess() != true) { strOut.append(http.lastErrorText()); strOut.append("\r\n"); SetDlgItemText(IDC_EDIT1,strOut.getUnicode()); return; } CkJsonObject json; json.Load(resp->bodyStr()); json.put_EmitCompact(false); // A sample JSON response is shown below.. strOut.append(json.emit()); strOut.append("\r\n"); strOut.append("Response Status Code: "); strOut.appendInt(resp->get_StatusCode()); strOut.append("\r\n"); // A response code of 200 is success. if (resp->get_StatusCode() == 200) { // Show a few values from the JSON.. strOut.append("first_name: "); strOut.append(json.stringOf("response_data.first_name")); strOut.append("\r\n"); strOut.append("last_name: "); strOut.append(json.stringOf("response_data.last_name")); strOut.append("\r\n"); // Iterate over the bundles. int i = 0; int numBundles = json.SizeOfArray("response_data.bundles"); while (i < numBundles) { json.put_I(i); strOut.append("Bundle: "); strOut.append(json.stringOf("response_data.bundles[i].name")); strOut.append("\r\n"); i = i + 1; } } delete 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": "" // } // ] // } // } // SetDlgItemText(IDC_EDIT1,strOut.getUnicode()); } |
© 2000-2022 Chilkat Software, Inc. All Rights Reserved.