--- title: "Frazy: statusy projektów (`getProjectsStatus`)" source: https://docs.senuto.com/modules/rank_tracker/rt-keywords-getProjectsStatus api: POST /api/rank_tracker/reports/keywords/getProjectsStatus --- # Frazy: statusy projektów (`getProjectsStatus`) **`POST /api/rank_tracker/reports/keywords/getProjectsStatus`** Zwraca statusy przetwarzania fraz **wszystkich projektów zalogowanego użytkownika**. Akcja działa na poziomie użytkownika — nie przyjmuje żadnych parametrów, a wynikiem jest tablica z jednym wpisem na projekt: identyfikatorem projektu oraz listą statusów z liczbą fraz w każdym z nich. Typowe zastosowanie: sprawdzenie, czy frazy projektu są już przetworzone (`complete`), zanim pobierzesz raporty pozycji (np. `getData`). Wynik nie jest stronicowany. | ID projektu | Status | Liczba fraz | | --- | --- | --- | | 87908 | complete | 58 | | 87913 | complete | 100 | | 87944 | complete | 94 | _2026-07-02 — statusy przetwarzania fraz projektów zalogowanego użytkownika (3 z 6 projektów). Wszystkie adresowalne pola wiersza; tablica statuses zaadresowana przez indeks (statuses.0.*) — pokazano pierwszy status każdego wiersza._ --- ## Żądanie `POST` `/api/rank_tracker/reports/keywords/getProjectsStatus` Nagłówki: `Authorization: Bearer `, `Content-Type: application/json`. ### Struktura żądania **Podstawowy** ```jsonc filename="żądanie-podstawowe.jsonc" {} ``` **cURL** ```bash curl --location --request POST 'https://api.senuto.com/api/rank_tracker/reports/keywords/getProjectsStatus' \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer $YOUR_TOKEN_HERE' \ --data-raw '{}' ``` ### Parametry Akcja **nie przyjmuje żadnych parametrów** — wyślij puste ciało `{}`. Zakres danych wyznacza wyłącznie zalogowany użytkownik (token `Authorization`): odpowiedź obejmuje wszystkie jego projekty Rank Tracker. > **Ostrzeżenie:** > Endpoint obsługuje metodę **`POST`**, mimo że nie przyjmuje żadnych parametrów — wyślij **puste ciało JSON** (`{}`). Akcja **nie ma walidatorów pól** i działa na zalogowanym użytkowniku (z tokenu `Authorization`). Uwaga na typy w odpowiedzi: zarówno `id` projektu, jak i `count` są zwracane jako **stringi**, nie liczby. ## Odpowiedź Po pomyślnym żądaniu otrzymujesz `data` — tablicę z jednym elementem na każdy projekt użytkownika, bez paginacji. Każdy element zawiera `id` projektu (string) oraz tablicę `statuses` z parami: nazwa statusu (np. `complete`) i liczba fraz w tym statusie (`count`, string). **Skrócona** ```json filename="przykładowa-odpowiedź (skrócona)" { "success": true, "data": [ { "id": "87944", "statuses": [{ "status": "complete", "count": "94" }] } ] } ``` **Pełna** ```json filename="przykładowa-odpowiedź (zwalidowana, 200 — skrócona do 3 z 6 projektów)" { "success": true, "data": [ { "id": "87908", "statuses": [ { "status": "complete", "count": "58" } ] }, { "id": "87913", "statuses": [ { "status": "complete", "count": "100" } ] }, { "id": "87944", "statuses": [ { "status": "complete", "count": "94" } ] } ] } ``` ### Struktura odpowiedzi ```ts type GetProjectsStatusResponse = { /** `true` przy powodzeniu; przy błędzie `false` i koperta z `error` */ success: boolean; /** Statusy przetwarzania fraz — jeden wpis na każdy projekt użytkownika, bez paginacji */ data: ProjectStatus[]; } type ProjectStatus = { /** ID projektu Rank Tracker — zwracane jako string, nie liczba */ id: string; /** Statusy fraz w projekcie wraz z liczebnością */ statuses: KeywordStatus[]; } type KeywordStatus = { /** Nazwa statusu przetwarzania, np. "complete" */ status: string; /** Liczba fraz w tym statusie — zwracana jako string, nie liczba */ count: string; } export default GetProjectsStatusResponse ``` ## Błędy ```ts type ErrorResponse = { success: false; data: { error: { /** np. invalid_data, unknown */ type: string; message: string; /** pole -> reguła -> komunikat (dla invalid_data) */ params?: Record>; }; }; } export default ErrorResponse ``` > **Błąd:** > Akcja nie ma walidatorów pól ani parametrów wejściowych, więc błędy walidacji (`invalid_data`) tu nie występują. Jedynym praktycznym warunkiem jest poprawny token — akcja działa na zalogowanym użytkowniku, a bez ważnego nagłówka `Authorization` żądanie zostanie odrzucone. ## Powiązane akcje - `getProjectKeywords` — słowa kluczowe całego projektu (`POST`, `project_id`) - `getGroupKeywords` — lekka lista (`id` + `keyword`) ograniczona do jednej grupy - `getData` — pełne statystyki pozycji (`POST`, `project_id` + `group_id` + `filtering` + `order`) - `getSerpHtml` — zapis HTML wyników SERP (`POST`, `keyword_id` + `date` + `project_id`) - `getBestKeywords` — najlepsze frazy projektu (zawsze 10 wierszy) - `getProjectsStatus` — statusy przetwarzania fraz wszystkich projektów użytkownika (ta strona)