Skip to main content
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.