Przejdź do poradnika
AgentinosaurusPoradniki Otwórz przestrzeń roboczą
Przeglądaj przewodniki

Integracje

Dokumentacja API Zapier

Uwierzytelnianie, subskrypcje i dostarczanie zdarzeń w integracji Agentinosaurus z Zapier.

Adresy i uprawnienia

Bazowy adres API to https://api.agentinosaurus.com/api/zapier. Żądania i odpowiedzi używają JSON; endpoint tokenów przyjmuje też application/x-www-form-urlencoded. Odpowiedzi zawierające dane konta nie są zapisywane w pamięci podręcznej.

Zakres automatyzacji umożliwia odczyt nazw kamer i Zdarzeń, pobieranie przykładowych zdarzeń oraz zarządzanie subskrypcjami tego połączenia. Nie pozwala odczytywać nagrań, klatek, danych logowania kamer ani kluczy OpenAI, zmieniać kamer lub zarządzać rozliczeniami. Dane zdarzeń, nowe subskrypcje i wysyłka wymagają aktywnego płatnego dostępu lub wyraźnie przyznanych uprawnień do automatyzacji.

Autoryzacja OAuth i tokeny

Przekieruj użytkownika na https://agentinosaurus.com/app/settings/integrations/authorize z parametrami response_type=code, client_id, redirect_uri, state, scope=automations, code_challenge oraz code_challenge_method=S256. Adres przekierowania musi dokładnie odpowiadać zarejestrowanemu adresowi zwrotnemu Zapier. Użytkownik loguje się i zatwierdza dostęp; opisy incydentów wymagają osobnej, opcjonalnej zgody. Anulowanie zwraca error=access_denied i oryginalny state.

POST /token wymienia kod autoryzacji. Podaj grant_type=authorization_code, client_id, client_secret, code, redirect_uri i code_verifier. Kod wygasa po pięciu minutach i jest jednorazowy. Aby odświeżyć token, podaj grant_type=refresh_token, client_id, client_secret i refresh_token.

Tokeny dostępu wygasają po 1800 sekundach. Połączenia i aktualne tokeny odświeżania nie wygasają z powodu bezczynności. Token odświeżania jest wymieniany przy użyciu. Ponowienie poprzedniego tokenu w ciągu 60 sekund zwraca tę samą nową parę; późniejsze użycie może unieważnić połączenie. Rozłączenie i zmiany bezpieczeństwa konta unieważniają dostęp. Wstrzymanie uprawnień z planu blokuje płatne funkcje, ale nie unieważnia uwierzytelnienia.

{
  "access_token": "<access-token>",
  "refresh_token": "<refresh-token>",
  "token_type": "Bearer",
  "expires_in": 1800,
  "scope": "automations"
}

Połączenie i listy wyboru

Przy każdym poniższym żądaniu wysyłaj Authorization: Bearer <access-token>. GET /me zwraca id (identyfikator połączenia), account (adres e-mail konta) i includeSummary (zgodę na opisy). Pozostaje dostępny po wstrzymaniu uprawnień z planu.

GET /cameras i GET /events zwracają tablice {id, name}. Stronicowanie używa page=0, następnie 1, 2 itd., po maksymalnie 100 pozycji; pusta tablica oznacza koniec. GET /events?cameraId=<id> zwraca tylko zdarzenia przypisane do wskazanej własnej kamery. Bez cameraId zwracane są wszystkie własne zdarzenia.

Tworzenie, edycja i usuwanie subskrypcji

POST /subscriptions przyjmuje url, trigger, cameraId, eventId i includeSummary. url musi być adresem HTTPS hooks.zapier.com/hooks/ otrzymanym od Zapier, bez parametrów zapytania. trigger to new_incident, incident_resolved, monitoring_interrupted lub monitoring_restored. Filtry kamery i zdarzenia domyślnie są puste (dowolne); includeSummary domyślnie wynosi false.

Filtry zdarzeń dotyczą tylko wyzwalaczy incydentów. Jeśli podano oba filtry, zdarzenie musi być przypisane do kamery. Wysyłka opisów wymaga zgody dla połączenia i włączenia jej w subskrypcji. Konto obsługuje do 100 aktywnych subskrypcji i 10 bieżących połączeń.

Odpowiedź to {id: <subscription-id>}. Ponowienie tego samego aktywnego adresu i filtrów zwraca istniejący identyfikator. Edycja filtrów wyłącza starą subskrypcję i zwraca nowy identyfikator; oczekujące wysyłki starej konfiguracji są anulowane. Zachowaj nowy identyfikator do usunięcia subskrypcji. Żądanie już w trakcie wysyłania może jeszcze dotrzeć.

DELETE /subscriptions/<id> usuwa wyłącznie subskrypcję należącą do uwierzytelnionego połączenia i zwraca {ok: true}. Można je bezpiecznie ponawiać, także po wstrzymaniu uprawnień z planu. Opóźnione usunięcie starego identyfikatora nie usuwa nowej subskrypcji.

{
  "url": "https://hooks.zapier.com/hooks/standard/<id>/<secret>/",
  "trigger": "new_incident",
  "cameraId": "<camera-id>",
  "eventId": "<event-id>",
  "includeSummary": false
}

Przykłady i działanie wyzwalaczy

GET /samples przyjmuje parametry trigger, cameraId, eventId i includeSummary. Zwraca do trzech pasujących ostatnich zdarzeń na podstawie Wiadomości lub sztuczny przykład z is_test=true, jeśli ich nie ma. Pobranie przykładów nie dodaje wysyłki do kolejki. Użycie przykładu do testowania Zapa może jednak wykonać rzeczywistą akcję w aplikacji docelowej.

New Incident jest wysyłany raz na incydent, bez przypomnień. Incident Resolved jest wysyłany raz, gdy kolejne obserwacje spowodują oznaczenie incydentu jako zakończony, niezależnie od ustawienia Wiadomości o zakończeniu. Zakończenie nie gwarantuje bezpieczeństwa sytuacji. Monitoring Interrupted i Monitoring Restored odpowiadają przerwaniu i wznowieniu monitorowania.

Pola danych to id, type, camera_id, camera_name, event_id, event_name, incident_id, detected_at, summary, incident_url i is_test. Identyfikatory są stałe dla zdarzenia i służą do usuwania duplikatów. detected_at to czas zmiany w formacie ISO 8601. Pola incydentu i zdarzenia mogą być puste przy zmianach monitorowania. summary jest pusty bez obu zgód. incident_url używa języka wybranego dla połączenia i wymaga zalogowania.

{
  "id": "incident:example",
  "type": "new_incident",
  "camera_id": "camera-example",
  "camera_name": "Loading bay",
  "event_id": "event-example",
  "event_name": "Delivery arrives",
  "incident_id": "example",
  "detected_at": "2026-10-20T12:00:00.000Z",
  "summary": "",
  "incident_url": "https://agentinosaurus.com/en/app/cameras/camera-example?incident=example",
  "is_test": false
}

Dostarczanie, ponawianie i diagnostyka

Zdarzenia są wysyłane jako żądania HTTPS POST z JSON na adres subskrypcji. Mogą dotrzeć wielokrotnie lub poza kolejnością. Odpowiedź 2xx oznacza przyjęcie przez Zapier, nie ukończenie kolejnych akcji. HTTP 408, 429, 5xx i błędy połączenia są ponawiane z rosnącymi opóźnieniami, do dziesięciu prób. Inne nieudane odpowiedzi kończą wysyłkę; HTTP 410 dodatkowo wyłącza subskrypcję.

Ustawienia → Integracje pokazują problemy połączeń, stan subskrypcji i ostatnie wysyłki. Stan połączenia jest sprawdzany okresowo, również gdy kamery nie zgłaszają incydentów. Nieoczekiwane przerwy związane z bezpieczeństwem lub planem powodują wysłanie e-maila; ostrzeżenia o wysyłce są grupowane. Zmiana na niższy plan wstrzymuje wysyłkę, a pominięte lub anulowane zdarzenia nie są odtwarzane po przywróceniu planu.

Błędy i limity żądań

Błędy tokenów używają kodów OAuth: invalid_client (401), invalid_grant (400) i unsupported_grant_type (400). Pozostałe endpointy zwracają {error: <message>}: 400 dla błędnych danych, 401 dla nieważnego dostępu, 403 przy braku uprawnienia lub zgody, 404 dla niedostępnych zasobów, 413 dla zbyt dużego żądania i 429 dla przekroczenia limitu. Odpowiedź 401 powinna wywołać jedno odświeżenie tokenu i ponowienie żądania.

Uwierzytelnione żądania Zapier mają limit 600 na minutę na właściciela. Ochrona sieciowa ogranicza także wymiany tokenów do 60 na minutę i pozostałe żądania Zapier do 3000 na minutę na adres źródłowy. Odpowiedź 429 zawiera Retry-After; odczekaj wskazaną liczbę sekund. Sekrety klienta i tokeny przechowuj po stronie serwera i nigdy nie umieszczaj ich w logach pomocy technicznej.

Otwórz integracje