Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Query

Açıklama

GEODI içinde tanımlı raporları REST API ile de alabilirsiniz. Özel servis tanımlarında dönen sonuç GEODI görünümlerinden gördüğünüz sonuç olabilir. QueryMode parametresi ile hangi görünümü istediğinizi belirtirsiniz.

Güncel tüm istek ve sonuçlar için https://servis2.dece.com.tr/geodiexporthandler?op=.wsdl&loginWithGuest=1  adresinden yararlanabilirsiniz.

İstek

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

  • wsName(string): İçinde arama yapılacak workspace adı.

  • query(JSON): Nesne JSON tanımı içerisindeki SearchString property tüm aramalar için yeterli olacaktır. Örnek { SearchString: "query" }

    • Sorgu metni söz dizim kuralları için GEODI Sorguları na bakınız.

    • GEODI Sorguları coğrafi kriterleri destekler. Geojson gibi bir rapor için sorgu kriterinize Related:42.5,36.4,43.8,38.5 kriterini kullanabilirsiniz.

  • ReportID:Kullandığınız raporun ID’si

  • languagetemp:[en-US|tr-tr|..] Dönecek tanıyıcı/kaynak isimlerinde multilanguage varsa dönmesi istenen dili sabitler.

  • GenericSettings ayarlarında

    1. HideClient true ise istemcide Raporlar listesinde görüntülenmez.

    2. FillOptions query nesnesindeki FillOptions değerine or ile eklenir.

    3. QueryStringParams key value koleksiyondur. Bazı iç REST API yöntemlerinin beklediği url parametrelerini taklit eder.

    4. DisableWaitConnectionCheck ayarı rapor indirmelerde yararlandığımız gecikmeli sonuç göndermeyi iptal ediyor.

    5. QueryMode: QueryMode değerleri

      • DLV → DLV Sorgu sonucu ile çalışır → macrolar d nesnesi QueryGeodiContentReference nesnesi olmalıdır.

      • KLV → KLV Sorgu sonucu ile çalışır → macrolar d nesnesi QueryGeodiContentReference nesnesi olmalıdır.

      • SUMMARY → Summary Sorgu sonucu ile çalışır → macrolar d nesnesi SummaryServiceResult nesnesi olmalıdır.

        • Örnek macro =context.Data.ContentReference[1].Summary → parantez içi DokumanID

      • QUERY_DOCUMENTS → DLV Rest api ekleri olmayan çok basit, yalın DLV sorgusudur. → macrolar d nesnesi QueryGeodiContentReference nesnesi olmalıdır.

      • QUERY_KEYWORDS → KLV Rest api ekleri olmayan çok basit, yalın KLV sorgusudur. → macrolar d nesnesi QueryGeodiContentReference nesnesi olmalıdır.

      • QUERY_SUMMARY → Summary Rest api ekleri olmayan çok basit, yalın Summary sorgusudur. → macrolar d nesnesi QueryGeodiContentReference nesnesi olmalıdır.

      • Boş bırakılırsa GeodiEntry getirecek.

HttpMethod

GET, POST

Beklenen Hatalar

401 Unauthorized access / Access denied

403 Forbidden

511 Network Authentication Required

501 Server Error / Untrusted Request

204 No Content

408 Unknown Workspace (ws name hatalı yazılmışsa)

Dönecek Sonuç

Dönen sonuç raporun tipine göre değişecektir. Örneğin, Geojson raporu JSON döner, diğer raporlar, HTML, CSV veya Excel dönebilir.

Örnek Uygulamalar

Adres ve diğer bilgiler örnek için verilmiştir. Sayfa 2 ile 4 olarak kısıtlanmıştır.

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

Örnek Rapor Tanımı (jsettings ve html)

Code Block
{
    "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
    }
}

Code Block
[
<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>
]

...