İçeriğe geç

Başlarken

Bu sayfa sizi kimlik bilgilerinden ilk başarılı isteğe götürür. Sonunda kimliğinizin doğru olduğunu ve hangi kayda bağlı olduğunu görmüş olursunuz.

İstemci kimliğini Trimango ekibi açar ve size güvenli bir kanaldan iletir. Size gelenler:

Bilgi Ne işe yarar
İstemci kimliği (client_id) Sisteminizi tanıtır.
Gizli anahtar (client_secret) Kimliği doğrular. Yalnız oluşturulurken bir kez gösterilir; Trimango bir daha gösteremez.
Taban adres Bütün uçların önündeki adres, ör. https://portfoy.trimango.tech/api/public/v1.

Test ve canlı ortam için ayrı kimlik bilgisi alırsınız. Önce test kimliğiyle başlayın; canlı kimlik Canlıya çıkış adımlarından sonra verilir.

Bilgileri ortam değişkenlerinde tutmanızı öneririz:

.env
TRIMANGO_BASE_URL=https://portfoy.trimango.tech/api/public/v1
TRIMANGO_CLIENT_ID=...
TRIMANGO_CLIENT_SECRET=...

Taban adresin sonunda / olmasın; uç yolları / ile başlar (/site, /villas).

Her istek HTTP Basic kimlik taşır:

Authorization: Basic base64(client_id:client_secret)

İstemci kimliği ile gizli anahtar arasına : konur, bütün metin Base64 ile kodlanır. Çoğu HTTP istemcisi bunu kendisi yapar (curl -u, fetch için aşağıdaki örnek).

GET /site bağlantı denemesi içindir. 200 dönerse kimliğiniz doğrudur.

curl
curl -s -u "$TRIMANGO_CLIENT_ID:$TRIMANGO_CLIENT_SECRET" \
"$TRIMANGO_BASE_URL/site"
site.mjs (Node 18 ve üstü)
const base = process.env.TRIMANGO_BASE_URL
const auth =
'Basic ' +
Buffer.from(`${process.env.TRIMANGO_CLIENT_ID}:${process.env.TRIMANGO_CLIENT_SECRET}`).toString('base64')
const res = await fetch(`${base}/site`, {
headers: { Authorization: auth, Accept: 'application/json' },
})
if (!res.ok) {
// Hatalar application/problem+json gelir: { type, title, status, ... }
console.error(res.status, await res.json())
process.exit(1)
}
console.log(await res.json())

Örnek yanıt:

200 OK
{
"name": "Trimango",
"logo_url": null,
"api_version": "1",
"phone_dtmf": false,
"rates_try": { "EUR": 36.5, "USD": 33.9, "GBP": 43.1 },
"rates_date": "2026-10-27"
}
Alan Anlamı
name Kimliğinizin bağlı olduğu kaydın marka adı.
logo_url O kaydın logosu; yoksa null.
api_version API’nin ana sürümü. Bugün "1".
rates_try Güncel TCMB döviz satış kurları: 1 EUR, USD ya da GBP’nin TL karşılığı.
rates_date Kurların günü; kur yoksa null.
phone_dtmf Web sitelerine yönelik bir ayardır; sizin için anlamı yoktur, yok sayabilirsiniz.

Kurları gösterim için kullanabilirsiniz, ama teklif ve rezervasyondaki TL tutarları kendiniz hesaplamayın; yanıttaki *_try alanları esastır. Ayrıntı: Para, dil ve biçim.

Yanıt Olası neden
401 Authorization başlığı yok, kimlik ya da anahtar yanlış, Base64 bozuk ya da istemci iptal edilmiş. Yanıtta WWW-Authenticate: Basic başlığı vardır.
404 ya da JSON olmayan yanıt Taban adres eksik ya da yanlış; size verilen adresi olduğu gibi kullandığınızı ve /api/public/v1 ile bittiğini kontrol edin.
429 Dakikalık istek sınırı aşıldı; Retry-After başlığındaki saniye kadar bekleyin.

Bütün hata kodları: Hatalar.

  1. Kimlik, Hatalar, Sınırlar ve önbellek ve Para, dil ve biçim: her uçta geçerli ortak kurallar.
  2. Katalog ve Müsaitlik: villaları kendi sisteminize almak.
  3. Fiyat ve teklif: tarih ve kişi sayısına göre fiyat.
  4. Rezervasyon: talep göndermek ve durumunu izlemek.
  5. Webhook: değişiklikleri anında öğrenmek.
  6. Canlıya çıkış: canlı kimlik almadan önceki kontrol listesi.

Alan alan tanımlar için API başvurusu.