# E-Mails

## Das E-Mail Objekt

| Attribut                 | Typ        | Beschreibung                                                 |
| ------------------------ | ---------- | ------------------------------------------------------------ |
| id                       | integer    | Unique ID der E-Mail                                         |
| subject                  | string     | Betreff der E-Mails                                          |
| body                     | string     | Inhalt der E-Mail als HTML                                   |
| broker\_id               | integer    | Nutzer-ID, der die E-Mail erhalten oder verschickt hat       |
| from                     | string\[]  | Absender der E-Mail                                          |
| to                       | string\[]  | Empfänger der E-Mail                                         |
| cc                       | string\[]  | Empfänger im Kopie                                           |
| bcc                      | string\[]  | Empfänger in Blindkopie                                      |
| client\_ids              | integer\[] | Ein Array von Kontakt-IDs, die mit der E-Mail verknüpft sind |
| property\_ids            | integer\[] | Ein Array von Objekt-IDs, die mit der E-Mail verknüpft sind  |
| project\_ids             | integer\[] | Ein Array von Projekt-IDs, die mit der E-Mail verknüpft sind |
| message\_attachment\_ids | integer\[] | IDs der Anhänge der E-Mail als Array                         |
| client\_source\_id       | integer    | Falls E-Mail eine Anfrage ist, die ID der Quelle der E-Mail  |
| message\_category\_id    | integer    | die ID des E-Mail-Types der E-Mail                           |

### Assoziationen

Eine E-Mail hat mehrere Assoziationen, die beim Lesen der E-Mail mitgezogen werden können. Unter anderem die Infos zum Nutzer, zu den verknüpften Kontakten, Objekten, Projekten und zu den Anhängen der E-Mail.

1. broker
2. attachments
3. clients
4. units (Property)
5. projects
6. client\_source
7. message\_category

### Anhänge

| Attribut | Typ     | Beschreibung                                   |
| -------- | ------- | ---------------------------------------------- |
| id       | integer | Unique ID des Anhanges                         |
| name     | string  | Name des Anhanges                              |
| url      | string  | URL zum Anhang (nur für wenige Minuten gültig) |

## E-Mail senden

<mark style="color:green;">`POST`</mark> `https://api.propstack.de/v1/messages`

#### Request Body

| Name        | Type    | Description                                                                     |
| ----------- | ------- | ------------------------------------------------------------------------------- |
| broker\_id  | integer | Absender der E-Mail. ID des Nutzers, über den die E-Mail versendet werden soll. |
| snippet\_id | integer | ID des Textbausteines, welcher versendet werden soll                            |
| cc          | array   | Empfänder der E-Mail in CC. Eine Liste an E-Mail-Adressen                       |
| to          | array   | Empfänger der E-Mail. Eine Liste an E-Mail-Adresen                              |

#### Beispiel Anfrage:

```json
{
    "message": {
        "broker_id": 12,
        "to": [
            "kontakt@mail.com"
        ],
        "snippet_id": 1,
        "property_ids": [ 
            15 
        ]
    }
}
```

{% tabs %}
{% tab title="200 " %}

```json
{
  "ok": true,
  "id": 48192929
}
```

{% endtab %}
{% endtabs %}

## E-Mail aktualisieren

<mark style="color:orange;">`PUT`</mark> `https://api.propstack.de/v1/messages/:id`

#### Request Body

| Name                                      | Type    | Description                                                  |
| ----------------------------------------- | ------- | ------------------------------------------------------------ |
| message<mark style="color:red;">\*</mark> | object  | ein `message` Objekt,  siehe unten für alle möglichen Felder |
| read                                      | boolean | Status "gelesen"                                             |
| archived                                  | boolean | Status "archiviert"                                          |
| message\_category\_id                     | integer | ID der E-Mail-Kategorie                                      |
| client\_ids                               | array   | verknüpfte Kontakte                                          |
| property\_ids                             | array   | verknüpfte Objekte                                           |
| project\_ids                              | array   | verknüpfte Projekte                                          |

#### Beispiel Anfrage:

```json
{
    "message": {
        "message_category_id": 1
    }
}
```

{% tabs %}
{% tab title="200 E-Mail-Objekt" %}

```javascript
{
  "id": 1,
  "subject": "Propstack",
  "body": "Hallo",
  ...
}
```

{% endtab %}
{% endtabs %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.propstack.de/reference/e-mails.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
