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
(Unicode 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 <CkHttpRequestW.h> #include <CkHttpW.h> #include <CkHttpResponseW.h> #include <CkJsonObjectW.h> void ChilkatSample(void) { // 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. CkHttpRequestW 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(L"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(L"/wp-content/plugins/membermouse/api/request.php?q=/getMember"); req.put_ContentType(L"application/x-www-form-urlencoded"); // Add the query params. // (Use your particular values in place of "MEMBERMOUSE_...") req.AddParam(L"apikey",L"MEMBERMOUSE_API_KEY"); req.AddParam(L"apisecret",L"MEMBERMOUSE_API_SECRET"); req.AddParam(L"email",L"some_member@somewhere.com"); CkHttpW http; // Use the Domain part of your API URL here: CkHttpResponseW *resp = http.SynchronousRequest(L"mydomain.com",443,true,req); if (http.get_LastMethodSuccess() != true) { wprintf(L"%s\n",http.lastErrorText()); return; } CkJsonObjectW json; json.Load(resp->bodyStr()); json.put_EmitCompact(false); // A sample JSON response is shown below.. wprintf(L"%s\n",json.emit()); wprintf(L"Response Status Code: %d\n",resp->get_StatusCode()); // A response code of 200 is success. if (resp->get_StatusCode() == 200) { // Show a few values from the JSON.. wprintf(L"first_name: %s\n",json.stringOf(L"response_data.first_name")); wprintf(L"last_name: %s\n",json.stringOf(L"response_data.last_name")); // Iterate over the bundles. int i = 0; int numBundles = json.SizeOfArray(L"response_data.bundles"); while (i < numBundles) { json.put_I(i); wprintf(L"Bundle: %s\n",json.stringOf(L"response_data.bundles[i].name")); 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": "" // } // ] // } // } // } |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.