Pascal (Lazarus/Delphi)
Pascal (Lazarus/Delphi)
Bluzone Get Project Details
See more Bluzone Examples
Get a project by its idChilkat Pascal (Lazarus/Delphi) Downloads
program ChilkatDemo;
// Demonstrates using the Chilkat Pascal wrapper via the C bridge DLL.
// Builds as a console application under Lazarus (FPC) or Delphi.
{$IFDEF FPC}
{$MODE DELPHI}
{$ENDIF}
{$APPTYPE CONSOLE}
uses
{$IFDEF UNIX}
cthreads,
{$ENDIF}
SysUtils,
CkDllLoader,
Chilkat.Http,
Chilkat.StringBuilder,
Chilkat.JsonObject;
// ---------------------------------------------------------------------------
procedure RunDemo;
var
success: Boolean;
http: THttp;
sbResponseBody: TStringBuilder;
jResp: TJsonObject;
respStatusCode: Integer;
projectId: Integer;
name: string;
description: string;
status: string;
ownerUsername: string;
ownerEmailAddress: string;
defaultUuidValue: string;
enableLocusMaps: Boolean;
mapProviderType: string;
enableAdvancedPackets: Boolean;
enabledPacketTypes: string;
enableDataUnload: Boolean;
enableScanConsumer: Boolean;
enablePolicyConsumer: Boolean;
enableLocationConsumer: Boolean;
enableEmail: Boolean;
firmwareUpdateStrategy: string;
deviceJobConcurrency: Integer;
mapProviderApiKey: string;
wakeupUuid: string;
reportTimezone: string;
language: string;
blufiHostnameNaming: string;
dateCreated: Integer;
dateUpdated: Integer;
enableStreamProducer: Boolean;
enableMetricStorage: Boolean;
i: Integer;
count_i: Integer;
begin
success := False;
// This example assumes the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
http := THttp.Create;
// Implements the following CURL command:
// curl -X GET \
// https://bluzone.io/portal/papis/v1/projects/YOUR_PROJECT_ID_HERE/ \
// -H 'bzid: YOUR_API_KEY_HERE'
http.SetRequestHeader('bzid','YOUR_API_KEY_HERE');
sbResponseBody := TStringBuilder.Create;
success := http.QuickGetSb('https://bluzone.io/portal/papis/v1/projects/YOUR_PROJECT_ID_HERE/',sbResponseBody);
if (success = False) then
begin
WriteLn(http.LastErrorText);
Exit;
end;
jResp := TJsonObject.Create;
jResp.LoadSb(sbResponseBody);
jResp.EmitCompact := False;
WriteLn('Response Body:');
WriteLn(jResp.Emit());
respStatusCode := http.LastStatus;
WriteLn('Response Status Code = ' + respStatusCode);
if (respStatusCode >= 400) then
begin
WriteLn('Response Header:');
WriteLn(http.LastHeader);
WriteLn('Failed.');
Exit;
end;
// Sample JSON response:
// {
// "projectId": 36845,
// "name": "My Project",
// "description": "Default Project for admin@chilkatsoft.com, created on Thu Jun 06 17:18:11 GMT 2019.",
// "status": null,
// "owner": {
// "username": "admin@chilkatsoft.com",
// "emailAddress": null
// },
// "defaultUuidValue": "1b4b243c-59aa-405f-90b5-0c434cac1345",
// "enableLocusMaps": false,
// "mapProviderType": "GOOGLE",
// "enableAdvancedPackets": false,
// "enabledPacketTypes": "sBv2",
// "enableDataUnload": false,
// "enableScanConsumer": false,
// "enablePolicyConsumer": false,
// "enableLocationConsumer": false,
// "enableEmail": true,
// "firmwareUpdateStrategy": "MANUAL",
// "deviceJobConcurrency": -1,
// "mapProviderApiKey": null,
// "wakeupUuid": null,
// "reportEmailList": [
// ],
// "reportTimezone": "Etc/GMT",
// "language": "en",
// "blufiHostnameNaming": "DEFAULT",
// "dateCreated": 1559841491000,
// "dateUpdated": 1559841491000,
// "enableStreamProducer": true,
// "enableMetricStorage": true
// }
// Sample code for parsing the JSON response...
// Use the following online tool to generate parsing code from sample JSON:
// Generate Parsing Code from JSON
projectId := jResp.IntOf('projectId');
name := jResp.StringOf('name');
description := jResp.StringOf('description');
status := jResp.StringOf('status');
ownerUsername := jResp.StringOf('owner.username');
ownerEmailAddress := jResp.StringOf('owner.emailAddress');
defaultUuidValue := jResp.StringOf('defaultUuidValue');
enableLocusMaps := jResp.BoolOf('enableLocusMaps');
mapProviderType := jResp.StringOf('mapProviderType');
enableAdvancedPackets := jResp.BoolOf('enableAdvancedPackets');
enabledPacketTypes := jResp.StringOf('enabledPacketTypes');
enableDataUnload := jResp.BoolOf('enableDataUnload');
enableScanConsumer := jResp.BoolOf('enableScanConsumer');
enablePolicyConsumer := jResp.BoolOf('enablePolicyConsumer');
enableLocationConsumer := jResp.BoolOf('enableLocationConsumer');
enableEmail := jResp.BoolOf('enableEmail');
firmwareUpdateStrategy := jResp.StringOf('firmwareUpdateStrategy');
deviceJobConcurrency := jResp.IntOf('deviceJobConcurrency');
mapProviderApiKey := jResp.StringOf('mapProviderApiKey');
wakeupUuid := jResp.StringOf('wakeupUuid');
reportTimezone := jResp.StringOf('reportTimezone');
language := jResp.StringOf('language');
blufiHostnameNaming := jResp.StringOf('blufiHostnameNaming');
dateCreated := jResp.IntOf('dateCreated');
dateUpdated := jResp.IntOf('dateUpdated');
enableStreamProducer := jResp.BoolOf('enableStreamProducer');
enableMetricStorage := jResp.BoolOf('enableMetricStorage');
i := 0;
count_i := jResp.SizeOfArray('reportEmailList');
while i < count_i do
begin
jResp.I := i;
i := i + 1;
end;
http.Free;
sbResponseBody.Free;
jResp.Free;
end;
// ---------------------------------------------------------------------------
begin
try
RunDemo;
except
on E: Exception do
WriteLn('Unhandled exception: ', E.ClassName, ': ', E.Message);
end;
WriteLn;
{$IFDEF MSWINDOWS}
WriteLn('Press Enter to exit...');
ReadLn;
{$ENDIF}
end.