Ověřování
Dva způsoby ověření, oba vázané na ID vašeho klíče: podepsané požadavky (doporučeno) nebo tokeny Bearer z OAuth 2 client credentials.
- Podepsané požadavky (HMAC-SHA256)
- OAuth 2 – přihlašovací údaje klienta
- ID klíčů, tajné klíče a obměna
- Seznam povolených IP adres
Podepsané požadavky (HMAC-SHA256)
U každého volání posílejte X-API-Key, X-Timestamp, X-Nonce a X-Signature. Podpis pokrývá metodu, přesný cíl požadavku (cestu a dotaz), časové razítko, nonce a hash těla, takže přehraný nebo pozměněný požadavek ověřením neprojde. Tolerujeme odchylku hodin až pět minut; opětovné použití nonce do deseti minut je odmítnuto s 401 api_nonce_reused.
Podpis počítejte ze surových bajtů, které skutečně odesíláte. JSON serializujte jednou, zahashujte přesně tyto bajty a stejné bajty pošlete jako tělo — opětovná serializace po podepsání je nejčastější příčinou api_signature_invalid.
const payload = JSON.stringify(body);
const ts = Math.floor(Date.now() / 1000);
const nonce = randomBytes(16).toString("hex");
const bodyHash = createHash("sha256").update(payload).digest("hex");
const canonical = ["POST", "/v1/flights/search", ts, nonce, bodyHash].join("\n");
const signature = createHmac("sha256", SECRET).update(canonical).digest("hex");OAuth 2 – přihlašovací údaje klienta
Pokud podepisování každého požadavku nezapadá do vašeho stacku, vyměňte ID klíče a tajný klíč za krátkodobý token Bearer na POST /v1/oauth/token (grant_type=client_credentials, kódováno jako formulář). Tokeny platí 30 minut a nesou vám udělená oprávnění; parametrem scope si můžete vyžádat jejich podmnožinu.
Token posílejte u každého volání jako Authorization: Bearer spolu s X-API-Key. ID klíče se kontroluje u každého požadavku, takže odvolání klíče okamžitě zneplatní i jeho tokeny.
curl -X POST "https://api.dubaitrip.com/v1/oauth/token" \
-d grant_type=client_credentials -d client_id=$KEY_ID -d client_secret=$SECRETID klíčů, tajné klíče a obměna
Klíče do testovacího prostředí začínají dt_sbx_, produkční klíče dt_live_. Klíč patří k jednomu prostředí a jednomu partnerovi. Tajné klíče se zobrazí jednou — při vytvoření, při obměně a přes odkaz k zobrazení — a u nás se ukládají jako hash.
Obměnu provedete ve vývojářském portálu: vydá se nové ID klíče a tajný klíč, zatímco starý klíč funguje dál po zvolené přechodné období (až sedm dní), takže můžete přejít bez výpadku. Odvolání je okamžité.
Seznam povolených IP adres
Volitelně můžete ve vývojářském portálu omezit každé prostředí na sadu adres IPv4/IPv6 nebo rozsahů CIDR. Požadavky z jiných adres jsou odmítnuty s 403 api_ip_not_allowed, i když jsou správně podepsané. Chcete-li přijímat jakýkoli původ, ponechte seznam prázdný.