Klucze
Klucze tworzy właściciel biura w Estalo: Ustawienia › API i webhooki (/dashboard/settings/developers). Utworzenie, wymiana i unieważnienie klucza wymagają sesji potwierdzonej kodem, jeśli właściciel ma włączoną weryfikację dwuetapową.
Klucz ma postać est_live_<12 znaków>_<43 znaki>. Estalo pokazuje go raz, zaraz po utworzeniu, i przechowuje tylko skrót SHA-256, więc zgubionego klucza nie da się odzyskać: trzeba go wymienić. Na liście w ustawieniach widać część est_live_<12 znaków>, żeby odróżnić klucze od siebie.
Każdy klucz ma:
- nazwę, którą nadajesz sam;
- jeden lub więcej zakresów. Odczyt:
clients:read,properties:read,deals:read,events:read,leads:read,tasks:read. Zapis:clients:write,properties:write,deals:write,events:write,leads:write,tasks:write. Zakres zapisu nie obejmuje odczytu: klucz, który tworzy klientów i czyta ich z powrotem, potrzebujeclients:writeiclients:read. Zakresy zapisu mają dodatkowe warunki, opisane w części Zmiana danych; - ważność 30, 90 albo 365 dni (kluczy bez daty ważności nie ma);
- twórcę: osobę, która go utworzyła.
Klucz nigdy nie czyta więcej niż jego twórca. Przy każdym żądaniu Estalo sprawdza, czy twórca nadal jest aktywnym członkiem biura, do którego należy klucz, czy jego konto nie jest wyłączone, zablokowane ani usunięte, i czy biuro ma aktywny plan i nie jest zawieszone. Właściciel, kierownik i dyrektor czytają całe biuro; pozostali tylko rekordy przypisane do siebie. Jeśli twórca dostanie później rolę agenta, klucz od razu zawęża się do jego rekordów. Jeśli odejdzie z biura, klucz przestaje działać.
„Wymień” wydaje nowy klucz z tą samą nazwą i zakresami i w tym samym kroku unieważnia stary. Unieważnienie działa od następnego żądania. Biuro może mieć do 20 aktywnych kluczy.
Klucz wysyłasz jako bearer token. Klucz w adresie URL albo w innym nagłówku jest ignorowany:
curl -s https://estalo.pl/api/v1/me \
-H "Authorization: Bearer est_live_xxxxxxxxxxxx_<twój-klucz>"
/me zwraca id biura, zakresy i datę ważności klucza, visibility (organization albo assigned) oraz writes: enabled, not_activated (klucz ma zakresy zapisu, ale biuro nie włączyło zmian przez API), deactivated (właściciel wyłączył zmiany), key_requires_mfa (twórca klucza wyłączył weryfikację dwuetapową) albo no_write_scope.