# Kommentare

Das Kommentarsystem ermöglicht Diskussionen, Nutzerfragen und Feedback-Threads zu Marktplatzobjekten (z. B. Fragen und Kommentare zu Angeboten sowie Plattformmeldungen).

Es unterstützt verschachtelte Antworten, „Gefällt mir“- und „Gefällt mir nicht“-Reaktionen, Filter nach Moderationsstatus und automatische E-Mail-Benachrichtigungen bei Fragen und Antworten zwischen Verkäufern und Kunden.

**Beispiel für ein Kommentarobjekt**

```json
{
  "id": 105,
  "tenant_id": "1791",
  "account_id": null,
  "user_id": "11474",
  "reference_id": 42,
  "reference_type": "listings_qa",
  "parent": 0,
  "message": "Is this product available for immediate shipping?",
  "active": true,
  "edited": false,
  "likes": 3,
  "unlikes": 0,
  "liked": false,
  "unliked": false,
  "created_at": "2026-08-08T12:00:00.000Z",
  "updated_at": "2026-08-08T12:00:00.000Z",
  "user": {
    "id": "11474",
    "first_name": "Thahaseen",
    "last_name": "Buyer",
    "profile_pic": "https://example.com/avatar.jpg"
  },
  "replies": [
    {
      "id": 108,
      "tenant_id": "1791",
      "account_id": 12,
      "user_id": "9023",
      "reference_id": 42,
      "reference_type": "listings_qa",
      "parent": 105,
      "message": "Yes, we ship within 24 business hours!",
      "active": true,
      "edited": false,
      "likes": 1,
      "unlikes": 0,
      "liked": false,
      "unliked": false,
      "created_at": "2026-08-08T12:15:00.000Z",
      "updated_at": "2026-08-08T12:15:00.000Z",
      "user": {
        "id": "9023",
        "first_name": "Tan",
        "last_name": "Shoppe",
        "profile_pic": "https://example.com/seller-avatar.jpg"
      }
    }
  ]
}
```

## Kommentarobjekt

| **Attribut** | **Typ** | **Beschreibung** |
| --- | --- | --- |
| `id` | `integer` | Eindeutige ID des Kommentars. |
| `reference_id` | `integer` | ID der kommentierten Ressource (z. B. `listing_id`). |
| `reference_type` | `string` | Benutzerdefinierte Kennung des Entitätsbereichs (z. B. `listings_qa`, `listings_comments`, `updates`). |
| `parent` | `integer` | ID des übergeordneten Kommentars für verschachtelte Antworten (`0` bei Stammkommentaren). |
| `message` | `string` | Text des Kommentars. |
| `user_id` | `string` | Eindeutige ID des Verfassers. |
| `account_id` | `integer` | Optionale Konto-ID, wenn im Namen eines Händlerkontos kommentiert wurde. |
| `active` | `boolean` | Gibt an, ob der Kommentar genehmigt und öffentlich sichtbar ist. |
| `edited` | `boolean` | Gibt an, ob der Kommentartext nach der Veröffentlichung geändert wurde. |
| `likes` | `integer` | Gesamtzahl positiver Reaktionen. |
| `unlikes` | `integer` | Gesamtzahl negativer Reaktionen. |
| `liked` | `boolean` | Gibt an, ob der anfragende Nutzer diesen Kommentar mit „Gefällt mir“ markiert hat. |
| `unliked` | `boolean` | Gibt an, ob der anfragende Nutzer diesen Kommentar mit „Gefällt mir nicht“ markiert hat. |
| `user` | `CommentUser` | Kurzprofil des Verfassers (`id`, `first_name`, `last_name`, `profile_pic`). |
| `replies` | `array<Comment>` | Verschachteltes Array mit untergeordneten Antworten. |
| `created_at` | `string` | ISO-8601-Zeitstempel der Veröffentlichung. |
| `updated_at` | `string` | ISO-8601-Zeitstempel der letzten Aktualisierung. |
