![]() |
Chilkat HOME Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi DLL Go Java Node.js Objective-C PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(Delphi DLL) 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. Note: This example requires Chilkat v11.0.0 or greater.
uses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Http, HttpRequest, HttpResponse, JsonObject; ... procedure TForm1.Button1Click(Sender: TObject); var success: Boolean; req: HCkHttpRequest; http: HCkHttp; resp: HCkHttpResponse; json: HCkJsonObject; i: Integer; numBundles: Integer; begin success := False; // 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 := CkHttpResponse_Create(); success := CkHttp_HttpSReq(http,'mydomain.com',443,True,req,resp); if (success = False) then begin Memo1.Lines.Add(CkHttp__lastErrorText(http)); Exit; end; json := CkJsonObject_Create(); CkJsonObject_Load(json,CkHttpResponse__bodyStr(resp)); CkJsonObject_putEmitCompact(json,False); // A sample JSON response is shown below.. Memo1.Lines.Add(CkJsonObject__emit(json)); Memo1.Lines.Add('Response Status Code: ' + IntToStr(CkHttpResponse_getStatusCode(resp))); // A response code of 200 is success. if (CkHttpResponse_getStatusCode(resp) = 200) then begin // Show a few values from the JSON.. Memo1.Lines.Add('first_name: ' + CkJsonObject__stringOf(json,'response_data.first_name')); Memo1.Lines.Add('last_name: ' + CkJsonObject__stringOf(json,'response_data.last_name')); // Iterate over the bundles. i := 0; numBundles := CkJsonObject_SizeOfArray(json,'response_data.bundles'); while i < numBundles do begin CkJsonObject_putI(json,i); Memo1.Lines.Add('Bundle: ' + CkJsonObject__stringOf(json,'response_data.bundles[i].name')); i := i + 1; end; end; // ---------------------------------------------------- // 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); CkHttpResponse_Dispose(resp); CkJsonObject_Dispose(json); end; |
© 2000-2025 Chilkat Software, Inc. All Rights Reserved.