/
GEODI Report API

GEODI Report API

You can access GEODI Reports through the search interface by clicking on the three dots. This page will explain how to access the same reports and more using the API. GEODI Report services can also be used as user-defined web services with appropriate definitions.

 

Report REST API

 

 

 

Definition

You can retrieve the reports defined within GEODI using the REST API. The returned result will vary depending on the report type. For example, a GeoJSON report returns JSON, while other reports may return HTML, CSV, or Excel.

Up-to-date methods are in  https://servis2.dece.com.tr/geodiexporthandler?op=.wsdl&loginWithGuest=1.

Request

[GEODIURL]/GeodiExportHandler?op=ExportQueryResult&ReportID=[raporun IDsi]&st_wsName=[WSNAME]&st_query=[StrorageManagerQueryOptions_JSON]&languagetemp=[en-US|tr-tr|..]&UserSession=[TOKEN]

  • GenericSettings options

    1. HideClient, if true, the report is not listed in GUI.

    2. FillOptions added to FillOptions value.

    3. QueryStringParams is a key/value collection that provides URL parameters necessary for some REST API methods.

    4. DisableWaitConnectionCheck disable delayed result that we utilize in some reports.

HttpMethod

GET, POST

Expected Errors

401 Unauthorized access / Access denied

403 Forbidden

511 Network Authentication Required

501 Server Error / Untrusted Request

204 No Content

408 Unknown Workspace

Return value

Depens on the reporttype. Geojson report returns json, but others may return HTML, CSV, or XLSX.

Samples

You should change the https://service.decesoftware.com address with your GEODI.

https://service.decesoftware.com/GeodiExportHandler?op=ExportQueryResult&ReportID=GeoJSON&st_wsName=Sample Project&st_query={FillOptions:128}&languagetemp=en-US&UserSession=[Token]

 

 

 

Custom Service Report API

 

 

 

Definition

This API differs from the previous that the result can be similar to GEODI views. The query mode parameter changes the behavior.

Up-to-date methods are in  https://servis2.dece.com.tr/geodiexporthandler?op=.wsdl&loginWithGuest=1

Request

[GEODIURL]/GeodiExportHandler?op=Export2&queryMode=[DLV|KLV|..]&ReportID=[raporun IDsi]&wsName=[WSNAME]&query=[StrorageManagerQueryOptions_JSON]&languagetemp=[en-US|tr-tr|..]&UserSession=[TOKEN]

 

  • wsName(string) and other are the same as previous.

  • GenericSettings

    1. HideClient and other are the same as previous

    2. QueryMode: QueryMode values

 

HttpMethod

GET, POST

Expected Errors

401 Unauthorized access / Access denied

403 Forbidden

511 Network Authentication Required

501 Server Error / Untrusted Request

204 No Content

408 Unknown Workspace

Return Value

Depens on the reporttype. Geojson report returns json, but others may return HTML, CSV, or XLSX.

Samples

You should change the service.decesoftware.com address with your GEODI.

https://service.decesoftware.com/GeodiExportHandler?op=Export2&queryMode=DLV&ReportID=DocumentReport&wsName=Sample Project&query={startIndex:2,endIndex:4}&languagetemp=tr-tr&UserSession=[TOKEN]

Please install the following module for an example.

Sample Report (jsettings ve html)

{ "ID": "Sample1", "__type": "Factory.ActionFactory:HTMLReporter", "DisableDownload": true, "DisableWaitConnectionCheck": true, "DisplayName": "Sample1", "ForcedExtension": ".json", "DefaultContentType": "text/json", "GenericSettings": { "QueryMode": "DLV", "FillOptions": 33554432, "QueryStringParams": { "FillLayerNames": "1" }, "HideClient": true } }

 

[ <dcc:repeater> [=c.RepeaterIndex>0?",":""] { "Content":[=c.ToJson(d.DisplayName)], "ContentId":[=d.ContentIdentifier], "Version":[=d.DocVersion], "Recognizer":[=c.ToJson(d.AdditionalValues.ContainsKey("DocLayersNames")?string.Join(";",(List <string>)d.AdditionalValues["DocLayersNames"\]):"")], "UNCPath":[=c.ToJson(d.AdditionalValues["UNC"\])], "ContentType":[=c.ToJson(d.ContentType)], "ModifiedDate":"[=((DateTime)d.AdditionalValues["ContentDate"\]).ToUniversalTime().ToString("yyyy'-'MM'-'dd'T'HH':'mm':'ss'.'fff'Z'")]", "Source":[=c.ToJson(d.AdditionalValues.ContainsKey("EnumaratorName")?d.AdditionalValues["EnumaratorName"\]:null)] "ComputerName":[=c.ToJson(d.AdditionalValues.ContainsKey("SP_ComputerName")?d.AdditionalValues["SP_ComputerName"\]:null)], "IP":[=c.ToJson(d.AdditionalValues.ContainsKey("SP_IP")?d.AdditionalValues["SP_IP"\]:null)] } </dcc:repeater> ]