Suche in diesem Bereich

Skip to end of metadata
Go to start of metadata


Inhaltsverzeichnis dieser Seite

Beschreibung

Mit Listenabfragen werden die Daten mehrerer oder aller Objekte eines Objekttyps ermittelt. Die zurückgegebenen Listen enthalten für die einzelnen Objekte weniger Details als die Ergebnisse von Einzelabfragen. 

Eine Listenabfrage besteht aus 3 Objekten:

  • Das Objekt Where (XML) bzw. Filters (JSON)  legt Suchkriterien fest. Details zum Objekt Where für XML und Filters für JSON.

  • Das Objekt View  legt den Umfang des Ergebnisses fest. Details zum Objekt View für XML und JSON.

  • Das Objekt Order  legt die Sortierung des Ergebnisses fest. Details zum Objekt Order für XML und JSON.


Für eine Listenabfrage von sld, subtld, tld müssen die Schlüsselwörter in einen "Where" bzw. "Filters"-Block eingefügt werden. Es werden immer nur die vollständigen Domain-Namen (z.B. example.com) zurückgegeben, nicht aber die Daten der einzelnen Keys (z.B. .com).

Auftragstypen und Routen für Listenabfragen

Die  Listenabfragen werden in XML mit den objekt-spezifischen ListInquire-Aufträgen ausgeführt und in JSON über die entsprechenden Routen.

Dies sind: (Liste noch nicht vollständig)

XML-AuftragstypXML-CodeJSON-RouteBeschreibung
BackupMX List524POST /backupMX/_searchErmittelt Daten von  BackupMX-Einträgen.
Certificate Job List400115JobLIstErmittelt die Daten von Zonen-Aufträgen.
Certificate List400105POST /certificate/_searchErmittelt die Daten von Zertifikaten.
ContactList304POST /contact​/_searchErmittelt Daten von Domain-Kontakten.
Domain105POST ​/domain​/_searchErmittelt Daten von Domains die  im Bestand des Benutzers sind.
Domain Premium List165-Ermittelt Daten von Premium-Domains die im Bestand des Benutzers sind.
DomainMonitoringList155-Ermittelt  Daten mehrerer Domain-Überwachungen.
JobList

-

POST​/job​/_searchErmittelt  Daten mehrerer Aufträgen. in XML Objektspetifische Job-Auftragstypen, z. B. DomainJobList, ZoneJobList, ContactJobList.
MailProxyList514POST /mailProxy/_searchErmittelt MailProxy-Daten mehrerer Domain.
Redirect504POST /redirect/_searchErmittelt Daten der aktuellen Weiterleitungen.
SSLContact List400205POST /sslcontaxt/{id}Ermittelt die Daten von SSL-Kontakten.
TransferOutList106001POST /transferout/_searchErmittelt Daten mehrerer laufender ausgehender Transfers.
ZoneList205POST/zone/_searchErmittelt  Zonen-Daten mehrerer Zonen auf den vom System verwalteten Nameservern.
ZoneHistoryList225POST /zone/history/_searchErmittelt  Daten mehrerer Zonen


Beispiele für einfache Abfragen

Beispiel 1 für JSON und  Beispiel 1 für XML

Beispiel 2 für JSON und Beispiel 2 für XML

Weitere Details mit dem Schlüsselwort <key> abfragen

Mit dem Schlüsselwort <key> können zusätzliche Details ermittelt werden.

In XML musst dafür unterhalb des Tags <task> ein Tag <key> hinzugefügt werden. Bei der Beschreibung der Listenabfragen für die einzelnen Objekte werden die Schlüsselwörter angegeben, die mit  <key> abgefragt werden können.

XML
<task>
       <key>created</key>
</task>

In JSON können mit Hilfe der Query-Parameteschlüssel zusätzliche Details festgelegt werden. Je nach Art der abgefragten Objekte können unterschiedliche Schlüssel verwendet werden. Die für die jeweilige Listenabfrage gültigen Schlüsselsind in der Technischen Dokumentation für JSON hinterlegt.

JSON
POST /domain/_search?keys[]=$key1&keys[]=$key2

Mögliche Operatoren für die Listenabfrage

Wert JSON

Wert XML

Bedeutung

EQUAL

eq

Direkter Vergleich (=)

NOT_EQUAL

ne

Ist nicht (!=)

LIKE

like

Wildcard-Suche mit "*", Groß- und Kleinschreibung beachten

GREATER

gt

Größer als (>)

LESS

lt

Kleiner als (<)

GREATER_EQUAL

ge

Größer gleich (>=)

LESS_EQUAL

le

Kleiner gleich (<=)

NOT_LIKEnot_likeWildcard-Suche mit "*", "Ist nicht gleich", Groß- und Kleinschreibung beachten
ILIKEilikeWildcard-Suche mit "*", "Ist gleich", Groß-/Kleinschreibung wird nicht berücksichtigt

Komplexe Abfragen

Mit Hilfe des Element Where sind komplexere Abfragen möglich. Es können mehrere Bedingungen mit und/oder verknüpft werden. Um mehrere Bedingungen z. B. mit Und zu verknüpfen, muss unterhalb des Tags where ein and-Tag eröffnet werden. Unter diesem Tag werden nun für jede Bedingung  weitere and-Tags eröffnet und darunter mit key, operator und value die Bedingung definiert, wie beim Beispiel 3 für JSON und beim Beispiel 3 für XML. Das gleiche gilt auch für reine oder-Verknüpfungen wie im Beispiel 4 für Beispiel 4 für JSON und im Beispiel 4 für XML. Beide Verknüpfungsarten können auch kombiniert werden.

Beispiele für komplexe Abfragen in  JSON und XML

Beispiel 1: Einfache Abfrage mit "where"

Request
{
    "filters": [
        {
            "key": "name",
            "operator": "LIKE",
            "value": "%json-test%"
        }
    ],
    "view": {
        "children": 1,
        "limit": 10
    },
    "orders": [
        {
            "key": "created",
            "type": "ASC"
        }
    ]
}

Beispiel 2: Komplexe Abfrage mit mehreren Bedingungen, die mit "Und" verknüpft sind

Request
   {
    "filters": [
        {
            "key": "name",
            "operator": "LIKE",
            "value": "%json-test%"
        },
        {
            "key": "trustee",
            "operator": "EQUAL",
            "value": false
        }
    ],
    "view": {
        "children": 1,
        "limit": 10
    },
    "orders": [
        {
            "key": "created",
            "type": "ASC"
        }
    ]
}

Beispiel 3: Komplexe Abfrage mit mehreren Bedingungen, die mit "Oder" verknüpft sind

Request
{
    "filters": [
        {
			"link": "OR",
            "filters": [
        		{
            		"key": "name",
            		"operator": "LIKE",
            		"value": "%json-test%"
        		},
	        	{
            		"key": "trustee",
            		"operator": "EQUAL",
            		"value": false
        		}
			]
        }
    ],
    "view": {
        "children": 1,
        "limit": 10
    },
    "orders": [
        {
            "key": "created",
            "type": "ASC"
        }
    ]
}

Beispiel 4: Komplexe Abfrage mit mit mehreren Bedingungen, die mit "Und" und "Oder"-Bedingungen verknüpft sind

Request
{
    "filters": [
        {
            "link": "OR",
            "filters": [
                {
                    "key": "name",
                    "operator": "LIKE",
                    "value": "%json-test%"
                },
                {
					"link": "AND",
					"filters": [
						{
                      		"key": "comment",
                    		"operator": "LIKE",
                    		"value": "%on2%"
						},
						{
                      		"key": "create",
                    		"operator": "gt",
                    		"value": "2018-01-01 00:00:00"
						}
					]
                }
            ]
        },
        {
            "key": "trustee",
            "operator": "EQUAL",
            "value": false
        }
    ],
    "view": {
        "children": 1,
        "limit": 10
    },
    "orders": [
        {
            "key": "created",
            "type": "ASC"
        }
    ]
}

Beispiel 1: Einfache Abfrage mit "where"

Request
<request>
    <auth>
        <user>USER</user>
        <password>PASSWORD</password>
        <context>CONTEXT</context>
    </auth>
    <task>
        <code>0105</code>
        <view>
            <limit>10</limit>
            <offset>0</offset>
            <children>0</children>
        </view>
        <where>
            <key>name</key>
            <operator>eq</operator>
            <value>example.com</value>
        </where>
        <order>
            <key>created</key>
            <mode>desc</mode>
        </order>
        <key>comment</key>
    </task>
</request>

Beispiel 2: Abfrage mit "where", der Limitierung der Ergebnisse mit "limit" und einer Sortierung mit "order"

Die Liste soll die ersten 30 Domains (offset = 0, limit = 30) die mit "a" anfangen (name like a*) anzeigen. Zusätzlich wird das Feld created angefordert (key = created).

Request
 <request>
       <auth>
             <user>customer</user>
             <password>password</password>
             <context>4</context>
       </auth>
       <task>
             <code>0105</code>
             <view>
                    <offset>0</offset>
                    <limit>30</limit>
                    <children>1</children>
             </view>
             <key>created</key>
             <where>
                    <key>name</key>
                    <operator>like</operator>
                    <value>a*</value>
             </where>
             <order>
                    <key>created</key>
                    <mode>asc</mode>
             </order>
       </task>
 </request>

Beispiel 3: Komplexe Abfrage mit "where" und "and"

Request
<request>
    <auth>
        <user>USER</user>
        <password>PASSWORD</password>
        <context>CONTEXT</context>
    </auth>
    <task>
        <code>0105</code>
        <view>
            <limit>10</limit>
            <offset>0</offset>
            <children>0</children>
        </view>
        <where>
            <and>
                <and>
                    <key>expire</key>
                    <operator>gt</operator>
                    <value>2018-06-01 00:00:00</value>
                </and>
                <and>
                    <key>expire</key>
                    <operator>lt</operator>
                    <value>2018-12-31 00:00:00</value>
                </and>
            </and>
        </where>
        <order>
            <key>expire</key>
            <mode>asc</mode>
        </order>
    </task>
</request>

Beispiel 4: Komplexe Abfrage mit "where" und "or"

Request
<request>
    <auth>
        <user>USER</user>
        <password>PASSWORD</password>
        <context>CONTEXT</context>
    </auth>
    <task>
        <code>0105</code>
        <where>
         <or>
            <key>name</key>
            <operator>LIKE</operator>
            <value>json-test</value>
    
         </or>
         <or>
            <and>
                <key>comment</key>
                <operator>LIKE</operator>
                <value>on2</value>
            </and>
            <and>
                <key>created</key>
                <operator>gt</operator>
                <value>2020-05-01 00:00:00</value>
            </and>
         </or>
        </where>
        <order>
            <key>expire</key>
            <mode>asc</mode>
        </order>
    </task>
<request>





  • No labels