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.
1. Kimlik bilgilerinizi alın
Bölüm başlığı “1. Kimlik bilgilerinizi alın”İ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:
TRIMANGO_BASE_URL=https://portfoy.trimango.tech/api/public/v1TRIMANGO_CLIENT_ID=...TRIMANGO_CLIENT_SECRET=...Taban adresin sonunda / olmasın; uç yolları / ile başlar (/site, /villas).
2. Kimlik başlığını kurun
Bölüm başlığı “2. Kimlik başlığını kurun”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).
3. İlk istek: GET /site
Bölüm başlığı “3. İlk istek: GET /site”GET /site bağlantı denemesi içindir. 200 dönerse kimliğiniz doğrudur.
curl -s -u "$TRIMANGO_CLIENT_ID:$TRIMANGO_CLIENT_SECRET" \ "$TRIMANGO_BASE_URL/site"const base = process.env.TRIMANGO_BASE_URLconst 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:
{ "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.
4. Bir şey ters giderse
Bölüm başlığı “4. Bir şey ters giderse”| 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.
5. Sonra ne okunmalı
Bölüm başlığı “5. Sonra ne okunmalı”- Kimlik, Hatalar, Sınırlar ve önbellek ve Para, dil ve biçim: her uçta geçerli ortak kurallar.
- Katalog ve Müsaitlik: villaları kendi sisteminize almak.
- Fiyat ve teklif: tarih ve kişi sayısına göre fiyat.
- Rezervasyon: talep göndermek ve durumunu izlemek.
- Webhook: değişiklikleri anında öğrenmek.
- Canlıya çıkış: canlı kimlik almadan önceki kontrol listesi.
Alan alan tanımlar için API başvurusu.
