---
title: API synchronizacji
description: Uruchamiaj synchronizację źródła, śledź strumień zdarzeń, bezpiecznie wznawiaj połączenie i odróżniaj przyjęcie pracy od stanu końcowego.
species: reference
---
# API synchronizacji

Uruchomienie synchronizacji wymaga zakresu `apps:manage`. Odczyt strumienia postępu wymaga `data:read`.

## Uruchamianie synchronizacji

```endpoint
POST /sources/{id}/sync
```

Przyjmuje żądanie synchronizacji źródła i zwraca zasób asynchroniczny. Przyjęcie oznacza, że żądanie zapisano, a nie że ukończono commity tabel.

Wstrzymane lub usunięte źródło jest odrzucane. Jeśli źródło ma już aktywną pracę, odpowiedź zgłasza konflikt zamiast uruchamiać duplikat.

Podczas ponawiania po utracie odpowiedzi użyj `Idempotency-Key`. Powiąż klucz z jednym źródłem i treścią żądania.

## Strumień postępu

```endpoint
GET /sources/{id}/sync/stream
```

Strumień Server-Sent Events przekazuje postęp i trwały wynik synchronizacji. Gdy transport zostanie zamknięty, połącz się ponownie z `Last-Event-ID`. Po ponownym połączeniu traktuj najnowszą synchronizację w zasobie źródła jako rozstrzygający stan.

Zdarzenia mogą zawierać nazwę tabeli, fazę, liczbę ukończonych i wszystkich elementów oraz wynik końcowy. Klient musi ignorować dodatkowe pola zdarzeń.

## Po zakończeniu

Pomyślne zdarzenie końcowe oznacza, że commity tabel uruchomienia zostały ukończone. Powiązane tabele mogą kończyć się w różnym czasie, dlatego automatyzacja wrażliwa na aktualność powinna po osiągnięciu stanu końcowego sprawdzić zapisane wartości `_synced_at` lub katalog.

Gdy uruchomienie się nie powiedzie, użyj [dzienników błędów źródła](/docs/api/logs). Semantykę scalania i usuwania opisuje strona [Synchronizacja](/docs/concepts/syncing).
