Dokumentacja dla programistów›Poradniki›Optymalizacja korzystania z API
Dokumentacja dla programistów

Optymalizacja korzystania z API

PoradnikiDokumentacja API
Aktualizacja 2026-10-19

Limity zapytań API mają ograniczać obciążenie API i pomagać utrzymać jego optymalną wydajność. Wskazówki poniżej pomogą Ci monitorować i optymalizować korzystanie z API, aby nie przekraczać tych limitów.

Monitoruj korzystanie z API

Pulpit analityczny

Pulpit analityczny API monitoruje korzystanie z API i śledzi dzienne użycie na koncie, trendy oraz aplikacje i użytkowników, którzy generują najwięcej zapytań.

Możesz wykorzystać te dane, aby:

  • Wykrywać nagłe skoki: mogą wskazywać na błąd w aplikacji. Błędy mogą sprawić, że aplikacja zużywa nieproporcjonalnie dużą część dostępnego limitu API.
  • Oceniać korzystanie z aplikacji: czasem aplikacje nie są już używane, ale nadal działają i zużywają dostępny limit API. To częsta przyczyna wysokiego użycia API w firmach, które korzystają z wielu aplikacji. Dzięki tym informacjom możesz sprawdzić, które aplikacje zużywają limit API, i zdecydować, czy nadal są potrzebne.

Pulpit analityczny jest dostępny dla administratorów kont z aktywnym dodatkiem do monitorowania użycia API, niezależnie od planu, a także dla wszystkich kont Enterprise.

Obiekt platform_api

Oprócz pulpitu analitycznego API możesz pobrać dane o dziennym użyciu na koncie, trendach oraz aplikacjach i użytkownikach generujących najwięcej zapytań, wysyłając zapytanie do obiektu platform_api.

query {
  platform_api {
    daily_analytics {
      by_day { 
        day
        usage
      }
      by_app {
        app {
          name
        }
        api_app_id
        usage
      }
      by_user {
        user {
          name
        }
        usage
      }
      last_updated
    }
  }
}

Prowadź szczegółowe dzienniki

Prowadzenie szczegółowych dzienników wywołań API pozwala poznać koszt każdego z nich i śledzić pozostały limit. Te dane ułatwiają przydzielanie zasobów i pomagają uniknąć przekroczenia limitów.

Warto rejestrować między innymi:

  • Koszt złożoności zapytania
  • Pozostały limit wywołań API
  • Strukturę zapytania, na przykład żądane pola i zastosowane filtry
  • Przypadki, w których aplikacja osiąga limit na minutę

Oceń swój przypadek użycia

Zastanów się, czy platformowe API monday.com jest odpowiednim narzędziem do Twojego przypadku użycia. Pamiętaj, że monday.com sprawdza się jako narzędzie do zarządzania pracą, a nie jako baza danych obsługująca dużą częstotliwość zapytań.

Optymalizuj wywołania

Stosuj stronicowanie

Stronicowanie dzieli wyniki na mniejsze zestawy danych zwane stronami, zamiast zwracać wszystkie dane naraz. Możesz użyć stronicowania opartego na kursorze albo argumentu page, aby pobierać dane z kolejnych stron. Dzięki temu unikniesz nieproporcjonalnego zużycia limitu API, zmniejszysz obciążenie API i skrócisz czas odpowiedzi.

Przykład: zamiast pobierać w jednym wywołaniu 10 000 elementów, użyj stronicowania opartego na kursorze, aby pobrać 200 elementów w 50 wywołaniach.

Pamiętaj, że niektóre zapytania nie obsługują stronicowania opartego na kursorze ani argumentu page. Więcej informacji o poszczególnych zapytaniach i obsługiwanych przez nie opcjach znajdziesz w dokumentacji referencyjnej API.

Używaj mutacji change_multiple_column_values

Jeśli chcesz zmienić wartości w więcej niż jednej kolumnie, użyj mutacji change_multiple_column_values zamiast kilku mutacji change_simple_column_value. Zmniejszy to liczbę wywołań i zwiększy ich wydajność.

Upraszczaj wywołania

Każde wywołanie ma przypisany „koszt”, który odpowiada obciążeniu nakładanemu na API. Nazywamy go kosztem złożoności. Uprość zapytania, aby zmniejszyć ich złożoność i uniknąć przekroczenia limitu złożoności.

  • Żądaj tylko potrzebnych danych
  • Ogranicz liczbę zagnieżdżonych zapytań
  • Korzystaj z argumentów page i limit
  • Filtruj wyniki

Możesz też wcześniej obliczyć złożoność każdego zapytania, aby uniknąć przekroczenia limitu. Najprościej zrobić to, dodając do zapytania pole complexity. Dzięki temu otrzymasz informacje o pozostałej złożoności przed zapytaniem i po nim, złożoności samego zapytania oraz czasie odnowienia limitu.

mutation {
  complexity {
    query
    before
    after
  }
  create_item(board_id:1234567890, item_name: "test item") {
    id
  }
}

Unikaj niepotrzebnych wywołań

Błędy, odpowiedzi o przekroczeniu limitu i nieudane wywołania wliczają się do dziennego limitu wywołań. Aby nie marnować limitu, ponawiaj wywołania dopiero po upływie wymaganego czasu i prawidłowo obsługuj błędy.

Przykład: jeśli osiągniesz limit na minutę, skorzystaj z nagłówka Retry-After, aby sprawdzić, jak długo trzeba czekać przed ponowieniem wywołania.

Korzystaj z fragmentów

GraphQL to elastyczny język zapytań, który pozwala żądać tylko potrzebnych informacji. Służą do tego między innymi argumenty, pola i fragmenty.

Przykład: niektóre obiekty, takie jak column_values, korzystają z fragmentów, aby zwracać dane dotyczące konkretnych kolumn. Dzięki temu zapytania są wydajniejsze.

Zwiększ wydajność aplikacji

Korzystaj z webhooków

Jeśli aplikacja ma reagować na zmiany w monday, użyj webhooków, aby otrzymywać powiadomienia na bieżąco. Webhooki są wydajniejsze niż okresowe odpytywanie API, ponieważ wywołania API są wtedy wysyłane tylko w razie potrzeby.

Pamiętaj, że webhooki mają własne limity, na przykład limity akcji integracji. Dlatego ważne jest, aby zachować równowagę między korzystaniem z webhooków i API.

Wdrażaj buforowanie

Rozważ buforowanie wielokrotnie odczytywanych danych, jeśli ich bieżące aktualizacje nie są kluczowe. Zmniejszy to liczbę wywołań API, poprawi wydajność i zoptymalizuje korzystanie z API.

Bezpieczne ponawianie mutacji za pomocą kluczy idempotencji

Ponawiając mutacje po błędach sieciowych lub przekroczeniu limitu czasu, dodaj nagłówek Idempotency-Key, aby zapobiec powieleniu skutków operacji. API zapisze odpowiedź w pamięci podręcznej i odeśle ją przy ponowieniu zamiast ponownie wykonywać mutację.

Jest to szczególnie ważne w przypadku operacji tworzenia (create_item, create_board itp.), ponieważ ponowienie może utworzyć duplikaty.

Szczegółowe informacje i przykłady kodu znajdziesz w sekcji Idempotencja.