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 <C_CkHttpRequestW.h> #include <C_CkHttpW.h> #include <C_CkHttpResponseW.h> #include <C_CkJsonObjectW.h> void ChilkatSample(void) { HCkHttpRequestW req; HCkHttpW http; HCkHttpResponseW resp; HCkJsonObjectW 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 = CkHttpRequestW_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). CkHttpRequestW_putHttpVerb(req,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.) CkHttpRequestW_putPath(req,L"/wp-content/plugins/membermouse/api/request.php?q=/getMember"); CkHttpRequestW_putContentType(req,L"application/x-www-form-urlencoded"); // Add the query params. // (Use your particular values in place of "MEMBERMOUSE_...") CkHttpRequestW_AddParam(req,L"apikey",L"MEMBERMOUSE_API_KEY"); CkHttpRequestW_AddParam(req,L"apisecret",L"MEMBERMOUSE_API_SECRET"); CkHttpRequestW_AddParam(req,L"email",L"some_member@somewhere.com"); http = CkHttpW_Create(); // Use the Domain part of your API URL here: resp = CkHttpW_SynchronousRequest(http,L"mydomain.com",443,TRUE,req); if (CkHttpW_getLastMethodSuccess(http) != TRUE) { wprintf(L"%s\n",CkHttpW_lastErrorText(http)); CkHttpRequestW_Dispose(req); CkHttpW_Dispose(http); return; } json = CkJsonObjectW_Create(); CkJsonObjectW_Load(json,CkHttpResponseW_bodyStr(resp)); CkJsonObjectW_putEmitCompact(json,FALSE); // A sample JSON response is shown below.. wprintf(L"%s\n",CkJsonObjectW_emit(json)); wprintf(L"Response Status Code: %d\n",CkHttpResponseW_getStatusCode(resp)); // A response code of 200 is success. if (CkHttpResponseW_getStatusCode(resp) == 200) { // Show a few values from the JSON.. wprintf(L"first_name: %s\n",CkJsonObjectW_stringOf(json,L"response_data.first_name")); wprintf(L"last_name: %s\n",CkJsonObjectW_stringOf(json,L"response_data.last_name")); // Iterate over the bundles. i = 0; numBundles = CkJsonObjectW_SizeOfArray(json,L"response_data.bundles"); while (i < numBundles) { CkJsonObjectW_putI(json,i); wprintf(L"Bundle: %s\n",CkJsonObjectW_stringOf(json,L"response_data.bundles[i].name")); i = i + 1; } } CkHttpResponseW_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": "" // } // ] // } // } // CkHttpRequestW_Dispose(req); CkHttpW_Dispose(http); CkJsonObjectW_Dispose(json); } |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.