Preview: nimic nu este servit încă. Pagina descrie contractul API-ului de distribuție (versiunea 1.0.0). Nicio cheie nu a fost emisă încă; prima cheie de test deschide sandbox-ul.
Chei
O cheie aparține canalului tău și unui singur mediu. Ți-o emite echipa Gridbeds, nu fiecare proprietate în parte: gazdele aleg care dintre proprietățile lor sunt publicate pe canalul tău, iar cheia ta citește ce au publicat.
- O cheie de producție începe cu
gbd_live_, una de sandbox cu gbd_test_. O cheie are 63 de caractere.
- O cheie se termină cu o sumă de control CRC32 a părții ei secrete, așa că o cheie tastată greșit sau trunchiată este refuzată înainte de orice căutare, la fel ca o cheie folosită în celălalt mediu.
- Gridbeds păstrează doar un hash al fiecărei chei. Ține-o pe a ta într-un depozit de secrete, niciodată în cod.
- Prefixele sunt înregistrate la scanerele publice de secrete (GitHub secret scanning, TruffleHog, GitGuardian). O cheie găsită într-un depozit public este revocată imediat, iar contactul tău tehnic este anunțat.
Trimite cheia ca bearer token la fiecare cerere:
Rotație
Canalul tău poate avea două chei pe mediu cât timp face rotația: pune cheia nouă în funcțiune, verifică dacă cererile cu ea reușesc, apoi cea veche poate fi revocată. GET /channel arată ce cheie a folosit o cerere (key.last4), când a fost creată și când expiră (key.expires_at, null pentru o cheie emisă fără expirare).
Permisiuni
Fiecare operație numește permisiunile (scope-urile) de care are nevoie. O cheie are una sau mai multe dintre ele:
GET /channel nu cere nicio permisiune. write:bookings este rezervată pentru o etapă ulterioară și nu se acordă. Permisiunile sunt scope-uri OAuth 2.0, așa că pe lângă chei se pot oferi mai târziu token-uri de acces de scurtă durată printr-un grant client-credentials, cu aceleași permisiuni și fără nicio schimbare în operații.
Când o cheie este refuzată
O cheie refuzată primește 401 cu WWW-Authenticate (RFC 6750) și o problemă al cărei code spune de ce:
api_key_expired și api_key_revoked se deosebesc doar pentru o cheie al cărei secret s-a potrivit. O cheie fără permisiunea cerută de o operație primește 403 cu insufficient_scope și permisiunile care îi lipsesc în required_scopes; un canal suspendat primește 403 cu partner_suspended. Autentificările eșuate repetate de la aceeași adresă primesc 429 (too_many_failed_authentications). Vezi Erori și limite.