# Activiteit

> Het activiteitenlogboek van de werkruimte met wie de klanten, korting en prijzen heeft gewijzigd, het nieuwste eerst.

TradeCatalog maakt een gewone tekstregel voor elke medewerkerwijziging naar klanten, korting en prijzen. Wijzigingen die via de API worden gemaakt, worden opgeslagen onder de naam van de sleutel, zoals `API key “Sage stock sync”`.

## Activiteitenlijst

**GET** `/api/v1/activity`

Meest recente eerst. Geef `customer` op voor de geschiedenis van één klant.

| Naam       | Type    | Vereist | Beschrijving                                                                                 |
| ---------- | ------- | ------- | -------------------------------------------------------------------------------------------- |
| `customer` | string  | niet    | Klant-ID of accountcode.                                                                     |
| `limit`    | integer | niet    | 1 tot 100. Standaard 100.                                                                    |
| `type`     | string  | niet    | Recordtype, zoals bestelling, klant of beveiliging.                                          |
| `before`   | string  | niet    | Laatste invoer's ISO `createdAt`, om oudere invoeringen op te halen.                         |
| `beforeId` | string  | niet    | Laatste invoer's `id`, gepaard met `before` om invoeringen op dezelfde tijdstip op te nemen. |

Ga terug met zowel `before` als `beforeId` van de laatst geretourneerde invoering. Een lege pagina betekent dat er geen oudere invoeringen zijn die aan uw filters voldoen.

Alleen een sleutel gemaakt door een eigenaar of beheerder ziet de volledige log; voor anderen worden alleen wijzigingen getoond over klanten die zij kunnen zien.

```bash
curl "https://tradecatalog.app/api/v1/activity?customer=OAK01&limit=20" \
  -H "Authorization: Bearer $TRADECATALOG_API_KEY"
```

```js
const res = await fetch(
  'https://tradecatalog.app/api/v1/activity?customer=OAK01&limit=20',
  {
    headers: { Authorization: `Bearer ${process.env.TRADECATALOG_API_KEY}` },
  },
)
const { data: entries } = await res.json()
```

```json
{
  "data": [
    {
      "id": "d0e1f2a3-b4c5-4d6e-8f7a-9b0c1d2e3f4a",
      "actorName": "Jo Hartley",
      "summary": "Set Northgate brand discount to 15% (was 12.5%)",
      "createdAt": "2026-09-26T14:21:03.000Z",
      "customerAccountId": "7d2e4f0a-1b3c-4d5e-8f90-a1b2c3d4e5f6",
      "customerName": "Oakfield Joinery"
    },
    {
      "id": "e1f2a3b4-c5d6-4e7f-8a9b-0c1d2e3f4a5b",
      "actorName": "API key “Sage stock sync”",
      "summary": "Imported customers: 0 new, 42 updated",
      "createdAt": "2026-09-26T02:00:09.000Z",
      "customerAccountId": null,
      "customerName": null
    }
  ]
}
```

| Veld                | Type           | Beschrijving                                                                              |
| ------------------- | -------------- | ----------------------------------------------------------------------------------------- |
| `actorName`         | string         | Wie heeft de wijziging aangebracht. Blijft behouden zelfs als die persoon later vertrekt. |
| `summary`           | string         | Wat is gewijzigd, in gewone taal. Bedoeld voor mensen, niet voor parseren.                |
| `createdAt`         | string         | Wanneer.                                                                                  |
| `customerAccountId` | string of null | De klant waar het over ging, indien van toepassing.                                       |
| `customerName`      | string of null | De huidige naam van die klant.                                                            |

Wijzigingen in bestelstatus hebben een werkruimteactiviteitenoverzicht en gedetailleerde geschiedenis in elke bestelling’s `events`. Zie [Bestellingen](/docs/api/orders#get-one-order).

Nieuwe gebeurtenissen kunnen ook `action`, `outcome` en `source` bevatten. Oudere gebeurtenissen kunnen deze leeg laten. Een gegenereerde export is bewijs dat TradeCatalog het bestand heeft voorbereid, niet dat iemand het heeft opgeslagen. Een checkout-aanvraag is apart van een betaling die is bevestigd door de betalingsprovider. Ruwe IP- en browsergegevens zijn uitgesloten van deze API. Werknemersbeveiligingsgebeurtenissen vereisen eigenaar/beheerders toegang; klantgerelateerde gebeurtenissen volgen klantbereik.
