# Aktivitäten

> Gespräche und Interaktionen mit Kontakten verwalten

- Seite: https://tbit.app/de/docs/api/activities
- Basis-URL: `https://rest-api.tbit.app/v1`
- Authentifizierung: Header `X-API-Key` mit deinem Schlüssel in jeder Anfrage (die Beispiele lesen ihn aus der Umgebungsvariable `TBIT_API_KEY`)

## Überblick

Aktivitäten sind Gespräche zwischen deinem Agenten und Kontakten. Jede Aktivität verfolgt ein Gespräch über einen oder mehrere Kanäle, inklusive Status, Labels und Zuweisung.

## Endpoints

| Methode | Pfad | Beschreibung |
| --- | --- | --- |
| `GET` | `/v1/activities` | Aktivitäten auflisten |
| `GET` | `/v1/activities/:id` | Aktivität im Detail abrufen |
| `PATCH` | `/v1/activities/:id` | Aktivität aktualisieren |
| `POST` | `/v1/activities/:id/tags` | Labels zur Aktivität hinzufügen |
| `DELETE` | `/v1/activities/:id/tags?tag_id=X` | Label von der Aktivität entfernen |

## Query-Parameter

Der Listen-Endpoint unterstützt die folgenden Query-Parameter:

| Parameter | Typ | Beschreibung |
| --- | --- | --- |
| `limit` | `number` | Ergebnisse pro Seite (Standard: 20, max.: 100) |
| `offset` | `number` | Anzahl zu überspringender Ergebnisse (Standard: 0) |
| `status` | `string` | Nach Status filtern: open, closed, pending |
| `tag` | `string` | Nach Label-ID filtern |
| `search` | `string` | Nach Kontaktname oder Telefonnummer suchen |

## Aktivitäten auflisten

`GET /v1/activities`

```bash
curl "https://rest-api.tbit.app/v1/activities?limit=20&offset=0&status=open" \
  -H "X-API-Key: $TBIT_API_KEY"
```

## Aktivität im Detail abrufen

`GET /v1/activities/64f1a2b3c4d5e6f7a8b9c0d1`

```bash
curl "https://rest-api.tbit.app/v1/activities/64f1a2b3c4d5e6f7a8b9c0d1" \
  -H "X-API-Key: $TBIT_API_KEY"
```

## Aktivität aktualisieren

`PATCH /v1/activities/64f1a2b3c4d5e6f7a8b9c0d1`

```bash
curl -X PATCH "https://rest-api.tbit.app/v1/activities/64f1a2b3c4d5e6f7a8b9c0d1" \
  -H "X-API-Key: $TBIT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "status": "closed",
    "assigned_to": "agent_user_id",
    "profile_name": "John Doe"
  }'
```

## Labels hinzufügen

`POST /v1/activities/64f1a2b3c4d5e6f7a8b9c0d1/tags`

```bash
curl -X POST "https://rest-api.tbit.app/v1/activities/64f1a2b3c4d5e6f7a8b9c0d1/tags" \
  -H "X-API-Key: $TBIT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "tag_ids": [
      "tag_id_1",
      "tag_id_2"
    ]
  }'
```

## Label entfernen

`DELETE /v1/activities/64f1a2b3c4d5e6f7a8b9c0d1/tags`

```bash
curl -X DELETE "https://rest-api.tbit.app/v1/activities/64f1a2b3c4d5e6f7a8b9c0d1/tags?tag_id=tag_id_1" \
  -H "X-API-Key: $TBIT_API_KEY"
```

## Antwortformat

Listen-Endpoints liefern paginierte Ergebnisse:

```json
{
  "data": [
    {
      "id": "64f1a2b3c4d5e6f7a8b9c0d1",
      "status": "open",
      "profile_name": "John Doe",
      "channel_identifiers": ["573001234567"],
      "tags": [
        { "id": "tag_1", "name": "VIP", "color": "#ef4444" }
      ],
      "assigned_to": null,
      "created_at": "2024-09-01T12:00:00Z",
      "updated_at": "2024-09-01T14:30:00Z"
    }
  ],
  "pagination": {
    "total": 100,
    "limit": 20,
    "offset": 0,
    "has_more": true
  }
}
```
