Kimlik ve istemci
API’yi çağıran her sistem bir istemcidir. Her istemcinin bir kimliği (client_id) ve gizli anahtarı (client_secret)
vardır. Trimango hangi kanal ortağının çağırdığını, hangi villaları göreceğini ve rezervasyonun kimden geldiğini bu kimlikten
bilir; alan adınıza ya da IP adresinize bakmaz.
İstemciyi kim açar
Bölüm başlığı “İstemciyi kim açar”İstemciyi Trimango ekibi açar ve size güvenli bir kanaldan iletir; kendi kendinize istemci oluşturamazsınız.
- Gizli anahtar yalnız bir kez gösterilir. Trimango anahtarı açık hâliyle saklamaz ve sonradan gösteremez. Kaybederseniz yeni istemci istemeniz gerekir.
- Test ve canlı ayrı istemcidir. Test istemcisi yalnız test ortamının taban adresinde, canlı istemci yalnız canlı adreste çalışır. Webhook adresi, imza anahtarı ve istek sınırı da istemci başınadır.
- Birden çok sisteminiz ya da ortamınız varsa (ör. ayrı bir hazırlık ortamı) her biri için ayrı istemci isteyin. Aynı kimliği birden çok ortamda paylaşmayın.
İstekte kimlik
Bölüm başlığı “İstekte kimlik”Her isteğe HTTP Basic kimlik eklenir:
Authorization: Basic <base64(client_id:client_secret)>const auth = 'Basic ' + Buffer.from(`${clientId}:${clientSecret}`).toString('base64')curl -u "$TRIMANGO_CLIENT_ID:$TRIMANGO_CLIENT_SECRET" "$TRIMANGO_BASE_URL/site"Bütün istekler HTTPS üzerinden yapılır. Oturum, çerez ya da erişim belirteci (token) alıp yenileme adımı yoktur: her istek kimliğini kendisi taşır.
Rezervasyon detayını okumak gibi bazı uçlar bunun yanında rezervasyona özel bir erişim anahtarı da ister
(X-Reservation-Token). Bu anahtar talep yanıtında gelir; kullanımı Rezervasyon rehberinde.
Anahtarı saklama
Bölüm başlığı “Anahtarı saklama”Sisteminiz birçok acentenin kullandığı bir yazılım olduğu için anahtar bütün acentelerin adına çalışır. Bu yüzden:
- Anahtarı yalnız sunucuda, ortam değişkeninde ya da bir sır yöneticisinde (secret manager) tutun.
- Tarayıcıya, mobil uygulamaya, acentelerin gördüğü ekranlara ve dışa açık yapılandırma dosyalarına koymayın.
- Kaynak kodu deposuna eklemeyin;
.envdosyalarını sürüm denetiminin dışında tutun. - Günlüklere (log)
Authorizationbaşlığını yazmayın. İstek günlüğü tutuyorsanız bu başlığı maskeleyin. - Anahtara erişebilen kişi sayısını en aza indirin.
API çağrılarını acentelerin tarayıcısından doğrudan yapmayın. Acentenin ekranı sizin sunucunuza gelir, sizin sunucunuz Trimango’yu çağırır.
İptal ve yenileme
Bölüm başlığı “İptal ve yenileme”- Trimango ekibi bir istemciyi iptal ettiğinde istemci hemen reddedilir; sonraki her istek
401alır. - Anahtarın sızdığından şüphelenirseniz vakit kaybetmeden size verilen iletişim kanalından Trimango ekibine bildirin. Eski istemci iptal edilir, size yenisi verilir.
- Anahtarı belirli aralıklarla yenilemek isterseniz yine Trimango ekibiyle planlayın: yeni kimliği yayına aldıktan sonra eskisi iptal edilir.
401 Yetkisiz
Bölüm başlığı “401 Yetkisiz”Kimlik doğrulanamazsa yanıt 401 olur ve WWW-Authenticate: Basic başlığını taşır. Gövde
hata biçimindedir. Olası nedenler:
| Neden | Ne yapmalı |
|---|---|
Authorization başlığı yok ya da Basic ile başlamıyor |
Başlığı her isteğe ekleyin. |
Base64 bozuk ya da : eksik |
client_id:client_secret metnini olduğu gibi kodlayın; satır sonu eklemeyin. |
| Kimlik ya da anahtar yanlış | Ortam değişkenlerini kontrol edin; test kimliğini canlı adreste (ya da tersi) kullanmadığınızdan emin olun. |
| İstemci iptal edilmiş | Trimango ekibinden yeni istemci isteyin. |
401 aldığınızda isteği aynı kimlikle yeniden denemeyin; kimlik değişmeden sonuç da değişmez. Bunu bir alarm olarak ele alın.
