---
title: "API-Grundlagen XML"
url: "https://help.internetx.com/de/api/core-api-grundlagen-xml/"
lang: "de"
section: "API-Referenz — API-Referenz (XML/JSON)"
breadcrumb: "XML"
updated: "2023-09-06"
---

# API-Grundlagen XML

## Einführung

Das Backend der AutoDNS XML-Schnittstelle wird mittels XML-Kommunikation angesprochen. Jede XML-Anfrage (Request) wird auf Gültigkeit und das Vorhandensein erforderlicher Berechtigungen geprüft, verarbeitet und dann mit einer Systemantwort (Response) in XML beantwortet. In der Systemantwort sind Informationen über den erfolgreichen (S= success) oder nicht erfolgreichen (E= error) Ausgang der Operation und ggf. angeforderte Daten enthalten (z. B. bei den Auftragstypen _Info_ und _List_).  
Je nach Auftragstyp wird der Auftrag synchron (realtime) über Daten aus der Datenbank oder mittels Kommunikation mit der Registry (asynchron) abgearbeitet. Bei letzteren wird zunächst eine Systemantwort des Typs "N" (= notification) versendet und nach der vollständigen Verarbeitung eine Systembenachrichtigung mit dem endgültigen Staus "S" oder "E", die mit den Methoden Polling, Push oder Email abgeholt bzw. zugesendet wird.

## Schnittstellenadressen

Livesystem: [https://gateway.autodns.com](https://gateway.autodns.com)  
Demosystem: [https://demo.autodns.com/gateway/](https://demo.autodns.com/gateway/)

## Freischaltung

Jeder Benutzer kann die Schnittstelle ohne zusätzliche Freischaltung nutzen.

## Limits

Es können maximal 3 Anfragen pro Sekunde pro IP gesendet werden.

## Transport und Codierung

Der XML-Auftrag wird im HTTP-Content eines HTTP-Requestes an oben genannte URLs gesendet.  
Der Content-Type ist application/xml  
Das Encoding ist UTF-8.

Beachte bei der UTF-8-Konvertierung mit Microsoft.NET, dass der UTF-8 XML-String kein Byte Order Mark (BOM, de: _Byte-Reihenfolge-Markierung_) enthalten darf. Es wird standardmäßig ein Byte Order Mark an den Anfang des Strings gesetzt.

## Standardauftragstypen

Die AutoDNS XML-API kennt für Standardobjekte fünf Auftragstypen:

-   _CREATE =_ Erzeugen eines Objektes
-   _UPDATE =_ Änderung eines existierenden Objektes
-   _DELETE =_ Löschen eines existierenden Objektes
-   _INFO =_ Einzelabfrage eines Objektes
-   _LIST =_ Listenabfrage auf eine Gruppe gleicher Objekte

## Standardauftrag (Request)

### Aufbau

Ein Auftrag besteht aus einer Authentifizierung und einem oder mehreren Task-Blöcken.

`request`  
      `auth/authentication/auth_session` - Authentifizierung  
      `` `o`wner `` - Unterbenutzer  
       `` `t`ask `` - Auftragstyp  
            `code` - Auftragstyp

### Beschreibung

| Keywords | **Häufigkeit** | **Format** | **Beschreibung** |
| --- | --- | --- | --- |
| request |  |  |  |
| request / auth | 1 |  | Auth-Block (Authentifizierung) |
| request / auth / user | 1 | string | Name des Benutzers |
| request / auth / password | 1 | string | Passwort des Benutzers |
| request / auth / context | 1 | string | ID des personalisierten Systems |
| request / owner | 0 - 1 |  | Unterbenutzer |
| request / owner / user | 1 | string | Benutzername des Unterbenutzers |
| request / owner /context | 1 | string | ID des personalisierten Systems des Unterbenutzers. |
| request / language | 0 - 1 | enum | Die Sprache für Fehlermeldungen überschreiben.<br>• de<br>• en |
| request / task | 1 |  | Der Auftrag. Es können mehrerer Task-Blöcke verwendet werden, siehe [Multitasks](/de/api/core-multi-tasks/). |
| request / task / code | 1 | string | Der Code des Auftragstyps |

#### XML-Beispiel

```
<request>
    <auth>
        <user>USER</user>
        <password>PASSWORD</password>
        <context>CONTEXT</context>
    </auth>
    <owner>
        <user>USER</user>
        <context>CONTEXT</context>
    </owner>
    <task>
        <code>CODE</code>
    </task>
</request>
```

## Standardantwort (Response)

### Aufbau 

Pro Auftragstyp wird ein Result-Objekt zurück geliefert mit Angabe des Status.

`response` - Root-Tag  
      `result` \- Pro Auftragstyp ein Ergebnis  
            `data`  
            `status`  
            `msg`

### Beschreibung der Keywords 

| Keyword | Häufigkeit | Format | Beschreibung |
| --- | --- | --- | --- |
| response | 1 |  | Die Antwort des Systems |
| response / result | 1 - n |  | Die zurückgegebenen Daten. Bei [Multitasks](/de/api/core-multi-tasks/) gibt es entsprechend mehrere „Result“-Blöcke. |
| response / result / data | 0 - n |  | Enthält die Datenobjekte |
| response / result / status | 1 |  | Der Status der Antwort |
| response / result / status / type | 1 | string | Der Statustyp der Antwort<br>• success (S)<br>• error (E)<br>• notification (N) |
| response / result / status / code | 1 | string | Der Statuscode der Antwort (N, E, S) |
| response / result / status / text | 1 | string | Details zum Status |
| response / result / msg | 0 - n |  | System-Nachricht |
| response / result / msg / code | 1 | string | Der Auftragstypcode des Auftrags, zu dem die Nachricht gehört.<br>**Beispiel S0101** S = Success 0101= Domain Create |
| response / result / msg / text | 1 | string | Der Text der Nachricht |
| response / result / msg / object | 0 - n | string | Das Objekt, auf das die Nachricht sich bezieht. |
| response / result / msg / object / type | 0 - n | string | Die Art des Objektes, z. B. “domain” oder „contact“. |
| response / result / msg / object /value | 0 - n | string | Der Wert des Objektes, z. B. “example.com” (type = domain) |
| response / result / msg / help | 0 - n | string | Hinweise |

#### XML-Beispiel

```
<response>
    <result>
        <data>
            <object></object>
            <object></object>
        </data>
        <status>
            <type>success</type>
            <code>S000</code>
            <text>TEXT</text>
        </status>
        <msg>
            <code>EF000</code>
            <type>error</type>
            <text>TEXT</text>
            <object>
                <type></type>
                <value></value>
            </object>
        </msg>
    </result>
</response>
```
