# Allgemeine API-Aufrufe

getApiKey
getSmartDogs

# getApiKey

**Beschreibung:** Erstellt einen API-Schlüssel für einen Benutzer basierend auf seiner E-Mail-Adresse und seinem Passwort. Der API-Schlüssel wird für alle weiteren Anfragen zur Authentifizierung verwendet.  
**Endpunkt:** `/api`  
**Methode:** `POST`  

#### Parameter:
- `email` (string) – E-Mail-Adresse des Benutzers (wird in Kleinbuchstaben umgewandelt)
- `pass` (string) – Passwort des Benutzers (wird als MD5-Hash verarbeitet)

#### Beispielanfrage:
```json
{
  "action": "getApiKey",
  "email": "testkunde@eco-data.de",
  "pass": "test"
}
```

#### Beispielantwort:
```json
{
  "valid": 1,
  "apikey": "6641d282073d76b625987af5141d3e2a"
}
```

#### Beschreibung der Antwortparameter:
- `valid` (number) – Status der Anfrage; `1` bedeutet Erfolg, `0` bedeutet Fehler.
- `apikey` (string) – Generierter API-Schlüssel für den Benutzer. Dieser Schlüssel sollte sicher gespeichert und für zukünftige API-Aufrufe verwendet werden.

#### Hinweise:
- Der **API-Key** bleibt gültig, bis der Benutzer seine E-Mail-Adresse ändert.
- Die API speichert Passwörter nicht im Klartext, sondern verarbeitet sie als **MD5-Hash**.
- Der API-Key ersetzt die Login-Daten und sollte sicher gespeichert werden.

#### Nähere Informationen zu Antwortformat und Fehlermeldungen:
[Antwortformat und Fehler](https://anleitung.smart-dog.eu/books/api-dokumentation/chapter/antwortformat-und-fehler)

# getSmartDogs

**Beschreibung:** Gibt eine Liste der registrierten SmartDog-Geräte des Benutzers zurück.  
**Endpunkt:** `/api`  
**Methode:** `POST`  

#### Parameter:
- `apikey` (string) – API-Schlüssel des Benutzers

#### Beispielanfrage:
```json
{
  "action": "getSmartDogs",
  "apikey": "90f47b75edc159ba8333a16ef37bd431"
}
```

#### Beispielantwort:
```json
{
  "valid": 1,
  "powerdogs": [
    {
      "id": 11,
      "name": "Familie Hütter",
      "description": "Anlage Familie Hütter",
      "address_city": "Braunau",
      "address_country": "AUT"
    }
  ]
}
```

#### Beschreibung der Antwortparameter:
- `valid` (number) – Status der Anfrage; `1` bedeutet Erfolg
- `powerdogs` (array) – Liste der registrierten SmartDog-Geräte.
  - `id` (int) – Eindeutige Kennung des Geräts.
  - `name` (string) – Name des SmartDog-Geräts.
  - `description` (string) – Beschreibung oder Zusatzinformation zum Gerät.
  - `address_city` (string) – Stadt, in der das Gerät lokalisiert ist.
  - `address_country` (string) – Ländercode des Gerätestandorts.


#### Nähere Informationen zu Antwortformat und Fehlermeldungen:
[Antwortformat und Fehler](https://anleitung.smart-dog.eu/books/api-dokumentation/chapter/antwortformat-und-fehler)