EN Araçları dene

Tek anahtar.
Tüm uçlar.

Tek anahtar ve tek yanıt zarfı arkasında büyüyen, küçük ve kesin API’ler kataloğu. Bir kez entegre edin — her yeni yetenek yeni bir tedarikçi değil, bir yol daha.

Katalogda bugün: 2026 tavan ve asgari ücret tablosuyla kıdem, ihbar ve yıllık izin; KDV ve tevkifat; tarihli AB KDV oranları ve Birlik OSS eşiği; sağlama (BIC, VIN, TIN, ISIN, LEI, konteyner) ve GLEIF LEI sorgulama (kayıt susunca unknown); altı resmî listede yaptırım taraması; IBAN, e-posta, telefon, AB KDV numarası, TCKN/VKN; adres ve e-Fatura; iş günü hesabı; tarihli arşivler — kur, 2009'a uzanan akaryakıt, LLM fiyat ve yaşam döngüsü, günlük MCP araç yüzey endeksi.

  • Bu sayfadaki her ucu hesap açmadan deneyebilirsiniz.
  • Deterministik uçlar önbellekten tek haneli milisaniyede yanıtlar.
  • Her yanıt bir fiş taşır: harcanan kredi, önbellek durumu, süre.

Bu sayfada ücretsiz dene → anahtar gerektiğinde Ödemeye geç · API erişimi.

POST/v1/tr/labor
İstek
{
  "startDate": "2025-08-01",
  "endDate": "2026-08-01",
  "monthlyGross": 33030
}
henüz istek gönderilmedi
Yanıt
Çalıştır’a bas — ücretsiz dene, anahtar gerekmez.
68uç nokta
biriken veri noktası
zaman serisi
ortanca yanıt

Neden var

Düşman girdi için tasarlandı

Türkçe adres "Cd." de olur "Cad." da "Caddesi" de; daire numarası bina numarasına yapışık gelir. Genel ayrıştırıcılar yarısını sessizce düşürür. Bu, yerleştiremediğini size söyler.

Her sayı kaynağını taşır

Arşivlenen her nokta, geldiği sayfanın kaynak URL’i ve içerik özetiyle saklanır; arşiv Merkle köküyle Bitcoin’e çıpalanır. Her taahhüt — kesim anı, yaprak sayısı ve çıpalarıyla — /proof adresinde yayımlanır, yani sonuncusunun ne kadar güncel olduğunu kendiniz görebilirsiniz. Bültenlerin kendisi herkese açık, isteyen okur; bunun eklediği şey, alıntıladığınız sayının o tarihte elimizde olan sayı olduğunun ve sonradan değiştirilmediğinin gösterilebilmesi.

Yalnız yapılan işe ödersiniz

Tekrarlanan girdi önbellekten gelir, sıfır kredi yakar. Bir yanıt kendi şemasına uymazsa çağrı otomatik iade edilir.

Uç noktalarparametreleri görmek ve canlı çağırmak için satırı açın

Doğrulama18

/v1/finance/bic SWIFT/BIC Doğrulama deterministik 1 kredi

SWIFT/BIC kodunu ISO 9362 yapısına göre denetler (8 veya 11 karakter), banka/ülke/konum/şube ayırır, bilinen kurumları adlandırır.

Ödeme dosyası, BIC yanlış uzunluktaysa veya konum kodunda yasak karakter varsa bankaya bakmadan reddeder. ISO 9362 kalıbı, test BIC (konumda 0) ve XXX = genel müdürlük burada denetlenir. Bilinen 8 haneli banka kodları isme çözülür; diğerleri uydurulmaz, bankName null döner. SWIFT dizinine bakılmaz. Biçimce geçerli bir BIC hâlâ tahsis edilmemiş, kapanmış veya kalıba uyan tek harf hatası olabilir.

Parametreler

bic* string SWIFT/BIC, 8 or 11 characters, with or without spaces.
POST/v1/finance/bic
İstek
{
  "bic": "DEUTDEFF"
}
henüz istek gönderilmedi
Yanıt
Çalıştır’a bas — ücretsiz dene, anahtar gerekmez.
/v1/shipping/container ISO 6346 Konteyner Numarası deterministik 1 kredi

ISO 6346 yük konteyneri numarasını doğrular: sahip kodu, kategori harfi, seri ve sağlama hanesi.

Konşimento ve saha okumalarında konteyner numarası sürekli yanlış yazılır; ISO 6346 sağlama hanesi gümrük beyanından önce hemen hepsini yakalar. Dördüncü harf kategoridir (U yük, J ekipman, Z şasi, R soğutmalı). Sahip kodu şirkete çözülmez — BIC sahip sicili ayrı, ücretli bir üründür. Geçerli numara aritmetik olarak tutarlıdır, kutunun var olduğunu kanıtlamaz.

Parametreler

code* string ISO 6346 container number, e.g. CSQU3054383.
POST/v1/shipping/container
İstek
{
  "code": "CSQU3054383"
}
henüz istek gönderilmedi
Yanıt
Çalıştır’a bas — ücretsiz dene, anahtar gerekmez.
/v1/id/gtin GTIN / EAN Sağlama deterministik 1 kredi

Perakende barkodları için GTIN-8, UPC-A (12), EAN-13 ve GTIN-14 sağlama hanesini doğrular.

Perakende GTIN’leri uzunluğa göre (8 / 12 / 13 / 14) aynı GS1 sağlama algoritmasını paylaşır. Bu uç taşıyıcı barkod tahminine girmez; yalnız perakende kimliğinde kalır. 13 hanede ilk üç rakam GS1 önek ipucudur; 868/869 Türkiye’yi işaret eder. Sağlama tutması aritmetik tutarlılıktır, SKU’nun marka kataloğunda olduğunu kanıtlamaz.

Parametreler

code* string GTIN-8, UPC-A (12), EAN-13 or GTIN-14.
POST/v1/id/gtin
İstek
{
  "code": "8690504015154"
}
henüz istek gönderilmedi
Yanıt
Çalıştır’a bas — ücretsiz dene, anahtar gerekmez.
/v1/email/verify E-posta Doğrulama 1 kredi

Bir e-posta adresini denetler: sözdizimi, alan adı gerçekten posta alabiliyor mu, tek kullanımlık ve rol kutusu tespiti, yazım hatası düzeltmesi.

SMTP yoklaması YOK. Rakiplerin çoğu hedef sunucuya bağlanıp RCPT TO dener; kulağa titiz gelir ama güvenilmeyecek, kendinden emin görünen bir sayı üretir: sunucuların çoğu catch-all'dır, büyük sağlayıcılar anlamlı cevap vermez ve toplu deneme yoklayan IP'yi kara listeye düşürür. Biz yalnız kanıtlanabilir olanı söyleriz — alan adının posta sunucusu var mı, bilinen tek kullanımlık servis mi, kutu kişiye mi role mi ait, ve alan adı yaygın bir adın yazım hatası mı (gmial.com → gmail.com). Adresler ayrıca normalize edilir; Gmail noktaları ve +etiketleri mükerrer kayıt üretmez.

Parametreler

email* string E-mail address to check.
rejectFreeProviders boolean varsayılan false
rejectRoleAccounts boolean varsayılan false
POST/v1/email/verify
İstek
{
  "email": "[email protected]"
}
henüz istek gönderilmedi
Yanıt
Çalıştır’a bas — ücretsiz dene, anahtar gerekmez.
/v1/eu/vat/rates AB KDV Oranları deterministik 1 kredi

Tarihli AB-27 KDV oranları (standart, indirimli, süper indirimli, parking) ve Birlik OSS eşiği. Mal sınıflandırması değil.

“Almanya %19” diye gömülü oran, üye devlet değiştirdiği gün kırılır; indirimli listeyi de hiç bilmez. Bu uç, AB KDV alanının yayımlanmış oranlarını ülke + asOf ile noktada verir. Oran tarifesidir; hangi malın hangi indirimli dilime girdiğini söylemez — HS/NACE eşlemesi yoktur. GB, XI, CH, NO ve TR tanınır, oranlar null döner. O tarih için satır yoksa oranlar null kalır; son satır giydirilmez.

Parametreler

country* string ISO 3166-1 alpha-2 country (EL accepted as Greece).
asOf string ISO date YYYY-MM-DD. Defaults to today UTC.
POST/v1/eu/vat/rates
İstek
{
  "country": "DE",
  "asOf": "2026-01-15"
}
henüz istek gönderilmedi
Yanıt
Çalıştır’a bas — ücretsiz dene, anahtar gerekmez.
/v1/eu/vat/validate AB KDV Numarası Doğrulama 2 kredi

AB KDV numarasını resmî VIES kaydına karşı doğrular; ülke bazlı biçim denetimi yapar ve servis kesintilerini dürüstçe raporlar.

VIES ücretsizdir ama güvenilmezdir: üye devlet servisleri tek tek düşer ve başarısız bir sorgu kolayca ret gibi okunur. Kesintiyi "geçersiz" saymak, muaf olması gereken müşteriye KDV eklemek demektir — bedeli parayla ölçülen bir hata. Bu yüzden servis cevap veremediğinde ASLA `invalid` dönülmez; `unknown` dönülür, sebebi yazılır ve o ülkenin servisinin şu an ayakta olup olmadığı bildirilir. Biçim önce yerel denetlenir, böylece bariz yazım hatası yukarı akışa çağrı olmaz. Sonuçlar 24 saat önbelleklenir. Üye devletlerin çoğu firma adını paylaşmaz; paylaşanlarda ad ve adres döner.

Parametreler

vatNumber* string VAT number with or without the country prefix, e.g. "DE811907980".
countryCode string Country code, when the number is given without a prefix.
POST/v1/eu/vat/validate
İstek
{
  "vatNumber": "DE811907980"
}
henüz istek gönderilmedi
Yanıt
Çalıştır’a bas — ücretsiz dene, anahtar gerekmez.
/v1/iban/validate IBAN Doğrulama deterministik 1 kredi

70+ ülkenin IBAN'ını doğrular: sağlama, ülke uzunluğu ve ülke içi hesap yapısı; banka ve şube kodlarını çözer.

Ücretsiz kütüphanelerin çoğu mod-97 sağlamasında durur. Bu yalnız hanelerin kendi içinde tutarlı olduğunu söyler; o ülkede böyle bir numaranın var olabileceğini değil. Burada ülkenin BBAN yapısı da denetlenir, böylece yanlış uzunlukta ya da yanlış biçimde bir hesap ödeme dosyanız bankaya ulaşmadan elenir. Yalnız iki sağlama hanesi hatalıysa doğrusu hesaplanıp önerilir — insanlar çoğunlukla o iki haneyi yanlış yazar. TR, NL ve BE IBAN'larında ulusal kod tablomuzdaysa banka adı da çözülür; değilse bankName null'dır. Bu bir SWIFT dizini değildir.

Parametreler

iban* string IBAN, with or without spaces.
expectCountry string Expected country code (ISO 3166-1 alpha-2).
POST/v1/iban/validate
İstek
{
  "iban": "DE89 3704 0044 0532 0130 00"
}
henüz istek gönderilmedi
Yanıt
Çalıştır’a bas — ücretsiz dene, anahtar gerekmez.
/v1/id/mrz MRZ Sağlama deterministik 1 kredi

ICAO 9303 TD1/TD3 MRZ çözer ve sağlama hanelerini doğrular — kimlik kanıtı değil.

Pasaport ve kimlik kartındaki MRZ, ICAO 9303 sağlama haneleri taşır (ağırlık 7,3,1). TD3 (2×44, pasaport) ve TD1 (3×30, kimlik kartı) ayrıştırılır; her alan sağlama sonucu döner. Bozuk sağlama 400 değil, HTTP 200 ve valid:false — metin MRZ formundadır, tutarsızdır. Bu bir biçim kontrolüdür, kimlik kanıtı değil: belgenin basıldığını veya hamili doğrulamaz.

Parametreler

mrz* string ICAO 9303 MRZ text: TD3 two lines of 44, or TD1 three lines of 30.
POST/v1/id/mrz
İstek
{
  "mrz": "P<UTODOE<<JANE<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<\nL000000007UTO9001011F3001019AA0000000<<<<<02"
}
henüz istek gönderilmedi
Yanıt
Çalıştır’a bas — ücretsiz dene, anahtar gerekmez.
/v1/id/isbn ISBN Doğrula & Dönüştür deterministik 1 kredi

ISBN-10 ve ISBN-13 sağlama hanelerini doğrular; 978 öneki uygunsa aralarında dönüştürür.

Katalog ve perakende sistemleri hâlâ ISBN-10 ile ISBN-13’ü karıştırır. ISBN-10 ağırlıklı mod-11 (X serbest) ve ISBN-13 / EAN-13 1–3 sağlama hanesi denetlenir. Geçerli ISBN-10 için ISBN-13 (978 + gövde + yeni sağlama) üretilir. 978 ile başlayan ISBN-13 geri ISBN-10’a çevrilir; 979 öneklinin ISBN-10 karşılığı yoktur, isbn10 null kalır. Tire ve boşluk atılır. Geçerli sağlama, eserin ulusal bibliyografyada var olduğunu kanıtlamaz.

Parametreler

isbn* string ISBN-10 or ISBN-13, with or without hyphens.
POST/v1/id/isbn
İstek
{
  "isbn": "978-0-306-40615-7"
}
henüz istek gönderilmedi
Yanıt
Çalıştır’a bas — ücretsiz dene, anahtar gerekmez.
/v1/finance/isin ISIN Doğrulama deterministik 1 kredi

ISIN (ISO 6166) doğrular: ülke kodu, ulusal tanıtıcı ve harf-duyarlı sağlama hanesi.

Portföy aktarımı ve kurumsal eylem dosyası tek yanlış ISIN'de düşer. Sağlama, harfleri iki haneye çeviren (A=10…Z=35) bir Luhn türevidir; yalnız rakam değil harf kayması da yakalanır. XS (uluslararası), EU ve diğer ayrılmış önekler ISO 3166 ülkesi olmasalar da kabul edilir. Geçerli ISIN kendi içinde tutarlıdır. Menkulün var olduğunu, kote olduğunu veya kastedilen kâğıt olduğunu kanıtlamaz.

Parametreler

isin* string ISIN, 12 characters, e.g. US0378331005.
POST/v1/finance/isin
İstek
{
  "isin": "US0378331005"
}
henüz istek gönderilmedi
Yanıt
Çalıştır’a bas — ücretsiz dene, anahtar gerekmez.
/v1/id/lei/lookup LEI Sorgulama 2 kredi

Legal Entity Identifier'ı GLEIF dizininde arar: yasal unvan, kayıt durumu, ülke ve BIC.

Sağlaması tutan LEI şu an kayıtlı demek değildir — LAPSED veya MERGED bir LEI yine ISO 7064'ten geçer. Bu uç sağlama hanesini önce yerelde kontrol eder (yazım hatası yukarı akışa çağrı olmaz), sonra GLEIF lei-records API'sine GET atar. Sonuçlar 24 saat önbelleklenir. GLEIF dakikada 60 istek kabul eder; üstünde veya zaman aşımı/5xx durumunda kayıt uydurulmaz, `unknown` dönülür. HTTP 404 servisin cevap verdiği ve LEI'nin dizinde olmadığı anlamına gelir (`invalid`). Toplu iş için GLEIF'in kendi API'sinin yerine geçmez. `status` registration.status'tur (ISSUED/LAPSED/MERGED/…), entity.status (ACTIVE) değil.

Parametreler

lei* string Legal Entity Identifier, 20 characters.
POST/v1/id/lei/lookup
İstek
{
  "lei": "5493001KJTIIGC8Y1R00"
}
henüz istek gönderilmedi
Yanıt
Çalıştır’a bas — ücretsiz dene, anahtar gerekmez.
/v1/id/lei LEI Doğrulama deterministik 1 kredi

20 karakterlik Legal Entity Identifier'ı (ISO 17442) ISO 7064 mod-97 sağlama haneleriyle doğrular.

KYC ve MiFID bildirimi, kurumu araştırmadan önce sağlama hanesi tutmayan LEI'yi reddeder. Algoritma IBAN ile aynı aileden (ISO 7064 mod 97-10), 20 karakterin tamamı üzerinden; kalan 1 olmalı. İlk 4 karakter LOU öneki, sonraki 14 varlık, son 2 sağlama. GLEIF çağrılmaz. Sağlaması tutan LEI süresi dolmuş, birleşmiş veya hiç tahsis edilmemiş olabilir. "Şu an kayıtlı" için GLEIF'in ücretsiz API'si var.

Parametreler

lei* string Legal Entity Identifier, 20 characters.
POST/v1/id/lei
İstek
{
  "lei": "5493001KJTIIGC8Y1R12"
}
henüz istek gönderilmedi
Yanıt
Çalıştır’a bas — ücretsiz dene, anahtar gerekmez.
/v1/phone/validate Telefon Numarası Doğrulama deterministik 1 kredi

Telefon numarasını doğrular, E.164 biçimine çevirir, hat tipini sınıflandırır ve Türk sabit hatlarında ili çözer.

Kayıt ve ödeme akışlarında tek kanonik biçimi saklamak ve yazım hatalarını erken elemek için. Türkiye numaraları derinlemesine işlenir: sabit hat alan kodu ili verir, mobil ve özel aralıklar (ücretsiz 0800, sabit tarifeli 0850, katma değerli 0900) sınıflandırılır, kabul edilen her girdi hem E.164 hem ulusal biçimde döner. Bu ucun bilerek İDDİA ETMEDİĞİ tek şey: mevcut mobil operatör. Türkiye'de 2008'den beri numara taşınıyor, yani 0532'li numara bugün başka şebekede olabilir. Rakip API'ler ön ek sahibini "operatör" diye sunar ve müşteri buna göre SMS yolu seçer. Biz bunu `originallyAllocatedTo` olarak, sınırı ekli biçimde döneriz — kendinden emin yanlış cevap, dürüst bir boşluktan pahalıdır.

Parametreler

phone* string Phone number in any common format.
defaultCountry string ISO 3166-1 alpha-2 country to assume when the number has no international prefix. Defaults to TR.
POST/v1/phone/validate
İstek
{
  "phone": "0532 123 45 67"
}
henüz istek gönderilmedi
Yanıt
Çalıştır’a bas — ücretsiz dene, anahtar gerekmez.
/v1/id/tin Vergi Kimliği Doğrulama deterministik 1 kredi

25+ ülkenin vergi kimliğini doğrular: algoritması açıksa sağlama, değilse yalnız biçim. Ülke zorunludur.

Kayıt formu her ülkeden vergi no toplar ve yalnız uzunluğa bakınca çöp saklar. Yayımlanmış sağlama burada uygulanır (SIREN/SIRET Luhn, ABN, CPF/CNPJ, NIP, BSN, NIF/NIE, OIB, IČO, AFM, TCKN/VKN…). Ülke tahmin edilmez: aynı 9 hane birden fazla yerde düzgün görünen bir kimliktir. Sağlama yayımlanmamışsa (US EIN, UK UTR, DE Steuernummer, IN PAN) yanıt biçim + `checksum: not-verified` olur, sahte geçiş değil. Hiçbir vergi dairesine "bu numara tahsis edildi mi" diye sorulmaz.

Parametreler

tin* string Tax identifier as written, with or without spaces and punctuation.
country* string ISO 3166-1 alpha-2 country that issued the identifier. Required.
POST/v1/id/tin
İstek
{
  "tin": "73282932000074",
  "country": "FR"
}
henüz istek gönderilmedi
Yanıt
Çalıştır’a bas — ücretsiz dene, anahtar gerekmez.
/v1/tr/postal-code Türkiye Posta Kodu deterministik 1 kredi

5 haneli Türkiye posta kodunu doğrular; ilk iki haneden ili (plaka haritası) çözer.

PTT posta kodları beş hanedir; baştaki çift, 81 ilin plaka koduyla örtüşür. Bu uç biçimi denetler, 01–81’i il adına çevirir; önek aralık dışındaysa ili null ve confidence none bırakır — ilçe uydurmaz. İlçe çözümü tam PTT dizinini ister ve burada kapsam dışıdır.

Parametreler

postalCode* string Turkish 5-digit postal code, with or without spaces.
POST/v1/tr/postal-code
İstek
{
  "postalCode": "34710"
}
henüz istek gönderilmedi
Yanıt
Çalıştır’a bas — ücretsiz dene, anahtar gerekmez.
/v1/tr/validate Türkiye Kimlik & Numara Doğrulama deterministik 1 kredi

TCKN, VKN, IBAN, plaka, IMEI, barkod, KEP, MERSİS, posta kodu ve ISBN — tek uç noktada, otomatik tip tespitiyle.

Yalnız "geçerli mi" demez: IBAN'da bankayı, plakada ili, barkodda GS1 ülke önekini de çözer. Tamamen yerel hesaplama — dış servis çağrılmaz, gecikme mikrosaniye seviyesindedir.

Parametreler

value* string Value to validate.
type "auto" | "tckn" | "vkn" | "iban" | "plate" | "imei" | "gtin" | "kep" | "mersis" | "postal" | "isbn" Omitted → inferred from the format. varsayılan "auto"
POST/v1/tr/validate
İstek
{
  "value": "TR33 0006 1005 1978 6457 8413 26"
}
henüz istek gönderilmedi
Yanıt
Çalıştır’a bas — ücretsiz dene, anahtar gerekmez.
/v1/id/uuid UUID Doğrulama deterministik 1 kredi

UUID yapısını doğrular; sürüm (1–5, 7) ve RFC 4122 variant bitlerini raporlar. Deterministik.

Tireli veya 32 hex kompakt biçimi kabul eder. Sürüm nibble’ını, variant’ı (NCS / RFC 4122 / Microsoft / future) ve bilinen sürümlerle (v1–v5 ve Unix-epoch v7) uyumu raporlar. Geçerli yapı, belirli bir sistemin ürettiğini kanıtlamaz.

Parametreler

uuid* string UUID string, with or without hyphens.
POST/v1/id/uuid
İstek
{
  "uuid": "550e8400-e29b-41d4-a716-446655440000"
}
henüz istek gönderilmedi
Yanıt
Çalıştır’a bas — ücretsiz dene, anahtar gerekmez.
/v1/id/vin Şasi No (VIN) Doğrulama deterministik 1 kredi

17 karakterlik VIN'i doğrular: yasak harfler, ISO 3779 sağlama, WMI bölge/üretici, model yılı ve fabrika.

VIN yazım hatalarının çoğu yasak harftir (I, O, Q — 1 ve 0'a benzer) veya kaymış karakter. Bunlar elenir; WMI/VDS/VIS ayrılır; üretici, muhafazakâr WMI tablosundaysa adlandırılır. 9. karakter sağlama hesaplanır ama eşleşmemesi VIN'i düşürmez: Kuzey Amerika'da FMVSS 115 zorunlu, Avrupa'da çoğu üretici kullanmaz. `checkDigitMatch` söyler; 17 karakter yasal ise `valid` true kalır. Motor/gövde çözmez, VIN'in tahsis edildiğini kanıtlamaz.

Parametreler

vin* string Vehicle identification number, 17 characters.
POST/v1/id/vin
İstek
{
  "vin": "1M8GDM9AXKP042788"
}
henüz istek gönderilmedi
Yanıt
Çalıştır’a bas — ücretsiz dene, anahtar gerekmez.

Finans7

/v1/finance/creditor-ref RF Alacaklı Referansı deterministik 1 kredi

ISO 11649 RF alacaklı referansını doğrular veya üretir (mod-97 sağlama).

SEPA havalesinde RF alacaklı referansı ödeme zincirinde açıklamayı korur. Sağlama IBAN ile aynı ISO 7064 mod-97'dir: RF ve iki hane sona alınır, harfler 10–35 olur, kalan 1 olmalıdır. Girdi RF ve iki hane ile başlıyorsa doğrulanır; değilse 1–21 alfasayısal yük kodlanır. Bozuk sağlama 400 ile reddedilir — tutarsız referans ödeme dosyasına yazılmaz.

Parametreler

reference* string ISO 11649 RF creditor reference, or a 1–21 character payload to encode.
POST/v1/finance/creditor-ref
İstek
{
  "reference": "RF18 5390 0754 7034"
}
henüz istek gönderilmedi
Yanıt
Çalıştır’a bas — ücretsiz dene, anahtar gerekmez.
/v1/pay/epc-qr EPC QR Yükü deterministik 1 kredi

EPC069-12 v3.1 V2 (002) SCT yükü üretir. Para göndermez; yalnız metin döner, PNG yok.

Avrupa ödemelerinde QR, EPC069-12 havale yükünü taşır. Bu uç metni sürüm 002 (V2) ile kurar: BCD, UTF-8, SCT, isteğe bağlı BIC, ad, elektronik IBAN, EUR tutar. Purpose ve yapılandırılmış açıklama boş bırakılır; serbest açıklama varsa kopyalanır. Satırlar LF'dir, CRLF değil. IBAN boşlukları atılır ve büyük harfe çevrilir; mod-97 bu uçta zorunlu değildir. TRY, USD ve EUR dışı birimler reddedilir. Para göndermez ve QR görüntüsü üretmez.

Parametreler

name* string Beneficiary name (SCT Name).
iban* string Beneficiary IBAN, with or without spaces.
amountEur* number Transfer amount in EUR (positive).
remittance string Unstructured remittance (e.g. invoice number).
bic string Beneficiary BIC; optional in V2 (002).
currency string Must be EUR if provided. Other currencies are rejected.
POST/v1/pay/epc-qr
İstek
{
  "name": "Franz Mustermänn",
  "iban": "DE71110220330123456789",
  "amountEur": 12.3,
  "remittance": "RF18539007547034"
}
henüz istek gönderilmedi
Yanıt
Çalıştır’a bas — ücretsiz dene, anahtar gerekmez.
/v1/tr/iban/build TR IBAN Oluştur deterministik 1 kredi

5 haneli banka kodu ve hesap numarasından TR IBAN oluşturur; ISO 7064 sağlama hanelerini hesaplar.

TR IBAN: TR + 2 sağlama + 5 haneli banka kodu + 1 rezerv hane + 16 karakter hesap. Hesap soldan doldurulur, rezerv varsayılan 0’dır, mod-97 sağlama hesaplanır; bilinen kodlarda banka adı IBAN doğrulama ile aynı ulusal tablodan gelir. Bilinmeyen kodda yapı geçerli IBAN üretilir, bankName null kalır — bankada varlık iddia edilmez.

Parametreler

bankCode* string 5-digit Turkish national bank / EFT code (e.g. 00062).
accountNumber* string Account number, up to 16 alphanumeric characters (padded left with zeros).
reserved string Reserved BBAN digit after the bank code. Defaults to 0.
POST/v1/tr/iban/build
İstek
{
  "bankCode": "00062",
  "accountNumber": "0000005197864578"
}
henüz istek gönderilmedi
Yanıt
Çalıştır’a bas — ücretsiz dene, anahtar gerekmez.
/v1/tr/invoice/build e-Fatura Belgesi Üretici 3 kredi

Düz JSON’dan UBL-TR e-Fatura / e-Arşiv XML belgesi üretir; tüm toplamları kendisi hesaplar, tarafları doğrular.

Türkiye’ye fatura kesmek, öğe sırası şemayla sabitlenmiş ve toplamları kuruşu kuruşuna tutması gereken bir UBL-TR belgesi üretmek demek; tutmazsa entegratör geri çevirir. Bu uç faturayı sıradan JSON olarak alır, XML döndürür. Gönderdiğiniz toplamlara bilerek bakılmaz: kalem tutarları, orana göre KDV alt toplamları ve ödenecek tutar burada yeniden hesaplanır — bir kuruşluk yuvarlama farkı en sık ret sebebidir. VKN/TCKN sağlamaları doğrulanır, tutar faturaların istediği gibi Türkçe yazıyla yazılır. Belge İMZALANMAZ ve GİB’e GÖNDERİLMEZ: mali mühür sizin sertifikanızın, gönderim entegratörünüzün işidir. Dönen belge o adıma girmeye hazır hâldedir.

Parametreler

profile "TEMELFATURA" | "TICARIFATURA" | "EARSIVFATURA" TEMELFATURA: no formal objection flow. TICARIFATURA: buyer may accept/reject. EARSIVFATURA: buyer is not an e-Invoice user. varsayılan "TEMELFATURA"
invoiceTypeCode "SATIS" | "IADE" varsayılan "SATIS"
id string Invoice number. Omit and supply `series` to have it built from the series and sequence.
series string Three-letter series code, used with `sequence`.
sequence integer Sequence number within the series and year.
uuid string Document UUID (ETTN). Generated when omitted.
issueDate* string
issueTime string
currency string ISO 4217. Anything other than TRY requires `exchangeRate`. varsayılan "TRY"
exchangeRate number Units of TRY per one unit of `currency`.
supplier* object
customer* object
lines* object[]
notes string[] varsayılan []
amountInWords boolean Adds the payable amount written out in Turkish words as a note, the way invoices require. varsayılan true
despatchDocumentId string Delivery note number, if the goods shipped separately.
orderReferenceId string
POST/v1/tr/invoice/build
İstek
{
  "series": "ABC",
  "sequence": 123,
  "issueDate": "2026-07-26",
  "supplier": {
    "name": "Örnek Yazılım A.Ş.",
    "taxNumber": "4840847211",
    "taxOffice": "Kadıköy",
    "street": "Moda Cad.",
    "buildingNumber": "12",
    "district": "Kadıköy",
    "city": "İstanbul"
  },
  "customer": {
    "name": "Alıcı Ticaret Ltd. Şti.",
    "taxNumber": "3250566341",
    "taxOffice": "Beşiktaş",
    "city": "İstanbul"
  },
  "lines": [
    {
      "name": "Yazılım geliştirme hizmeti",
      "quantity": 10,
      "unitCode": "HUR",
      "unitPrice": 1500,
      "vatRate": 20
    }
  ]
}
henüz istek gönderilmedi
Yanıt
Çalıştır’a bas — ücretsiz dene, anahtar gerekmez.
/v1/tr/invoice/parse e-Fatura (UBL-TR) Ayrıştırma deterministik 3 kredi

UBL-TR e-Fatura/e-Arşiv XML belgesini kalem, taraf, vergi ve toplam bilgileriyle temiz JSON'a çevirir.

Ad alanı öneki (cbc:, cac:, ns0:) ne olursa olsun çalışır; tek kalemli belgelerde dizi normalleştirmesi yapar, tutar tutarsızlıklarını `warnings` ile bildirir. Muhasebe, ön muhasebe ve gider yönetimi yazılımlarının en çok vakit kaybettiği iş.

Parametreler

xml* string UBL-TR e-Invoice / e-Archive (e-Arsiv) XML body.
POST/v1/tr/invoice/parse
İstek
{
  "xml": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Invoice xmlns=\"urn:oasis:names:specification:ubl:schema:xsd:Invoice-2\"\n         xmlns:cbc=\"urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2\"\n         xmlns:cac=\"urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2\">\n  <cbc:UBLVersionID>2.1</cbc:UBLVersionID>\n  <cbc:ProfileID>TEMELFATURA</cbc:ProfileID>\n  <cbc:ID>ABC2026000000123</cbc:ID>\n  <cbc:UUID>3f2504e0-4f89-11d3-9a0c-0305e82c3301</cbc:UUID>\n  <cbc:IssueDate>2026-07-20</cbc:IssueDate>\n  <cbc:InvoiceTypeCode>SATIS</cbc:InvoiceTypeCode>\n  <cbc:DocumentCurrencyCode>TRY</cbc:DocumentCurrencyCode>\n  <cac:AccountingSupplierParty><cac:Party>\n    <cac:PartyIdentification><cbc:ID schemeID=\"VKN\">1234567890</cbc:ID></cac:PartyIdentification>\n    <cac:PartyName><cbc:Name>Örnek Yazılım A.Ş.</cbc:Name></cac:PartyName>\n    <cac:PostalAddress><cbc:StreetName>Moda Cad.</cbc:StreetName><cbc:BuildingNumber>12</cbc:BuildingNumber>\n      <cbc:CitySubdivisionName>Kadıköy</cbc:CitySubdivisionName><cbc:CityName>İstanbul</cbc:CityName></cac:PostalAddress>\n    <cac:PartyTaxScheme><cac:TaxScheme><cbc:Name>Kadıköy</cbc:Name></cac:TaxScheme></cac:PartyTaxScheme>\n  </cac:Party></cac:AccountingSupplierParty>\n  <cac:AccountingCustomerParty><cac:Party>\n    <cac:PartyIdentification><cbc:ID schemeID=\"VKN\">9876543210</cbc:ID></cac:PartyIdentification>\n    <cac:PartyName><cbc:Name>Alıcı Ticaret Ltd. Şti.</cbc:Name></cac:PartyName>\n  </cac:Party></cac:AccountingCustomerParty>\n  <cac:TaxTotal><cbc:TaxAmount currencyID=\"TRY\">200.00</cbc:TaxAmount>\n    <cac:TaxSubtotal><cbc:TaxableAmount currencyID=\"TRY\">1000.00</cbc:TaxableAmount>\n      <cbc:TaxAmount currencyID=\"TRY\">200.00</cbc:TaxAmount><cbc:Percent>20</cbc:Percent>\n      <cac:TaxCategory><cac:TaxScheme><cbc:Name>KDV</cbc:Name><cbc:TaxTypeCode>0015</cbc:TaxTypeCode></cac:TaxScheme></cac:TaxCategory>\n    </cac:TaxSubtotal></cac:TaxTotal>\n  <cac:LegalMonetaryTotal>\n    <cbc:LineExtensionAmount currencyID=\"TRY\">1000.00</cbc:LineExtensionAmount>\n    <cbc:TaxExclusiveAmount currencyID=\"TRY\">1000.00</cbc:TaxExclusiveAmount>\n    <cbc:TaxInclusiveAmount currencyID=\"TRY\">1200.00</cbc:TaxInclusiveAmount>\n    <cbc:PayableAmount currencyID=\"TRY\">1200.00</cbc:PayableAmount>\n  </cac:LegalMonetaryTotal>\n  <cac:InvoiceLine>\n    <cbc:ID>1</cbc:ID>\n    <cbc:InvoicedQuantity unitCode=\"C62\">10</cbc:InvoicedQuantity>\n    <cbc:LineExtensionAmount currencyID=\"TRY\">1000.00</cbc:LineExtensionAmount>\n    <cac:TaxTotal><cbc:TaxAmount currencyID=\"TRY\">200.00</cbc:TaxAmount>\n      <cac:TaxSubtotal><cbc:TaxableAmount currencyID=\"TRY\">1000.00</cbc:TaxableAmount>\n        <cbc:TaxAmount currencyID=\"TRY\">200.00</cbc:TaxAmount><cbc:Percent>20</cbc:Percent>\n        <cac:TaxCategory><cac:TaxScheme><cbc:Name>KDV</cbc:Name><cbc:TaxTypeCode>0015</cbc:TaxTypeCode></cac:TaxScheme></cac:TaxCategory>\n      </cac:TaxSubtotal></cac:TaxTotal>\n    <cac:Item><cbc:Name>Yıllık Lisans</cbc:Name></cac:Item>\n    <cac:Price><cbc:PriceAmount currencyID=\"TRY\">100.00</cbc:PriceAmount></cac:Price>\n  </cac:InvoiceLine>\n</Invoice>"
}
henüz istek gönderilmedi
Yanıt
Çalıştır’a bas — ücretsiz dene, anahtar gerekmez.
/v1/tr/money/to-words Tutarı Türkçe Yazıya Çevirme deterministik 1 kredi

Para tutarını fatura/çek/senet metinlerinde kullanılan Türkçe yazıya çevirir.

Türkçeye özgü kuralları uygular: "bir bin" değil "bin"; kuruş kısmı ayrı okunur; "1.234,56" ile "1,234.56" yazımlarını otomatik ayırt eder. e-Fatura, çek ve senet üreten her sistemin zorunlu alanı — ve hazır bir API'si yok.

Parametreler

amount* string | number Amount. Accepts both "1.234,56" and 1234.56.
currency "TRY" | "USD" | "EUR" | "GBP" varsayılan "TRY"
style "lower" | "title" | "upper" Output letter case. varsayılan "lower"
wrapHash boolean varsayılan false
POST/v1/tr/money/to-words
İstek
{
  "amount": "1.234,56"
}
henüz istek gönderilmedi
Yanıt
Çalıştır’a bas — ücretsiz dene, anahtar gerekmez.
/v1/tr/pay/qr Türk FAST / TR Karekod Yükü deterministik 1 kredi

IBAN, ad ve isteğe bağlı TRY tutardan kişiden kişiye TR Karekod (FAST) ödeme yükü üretir. Yalnız metin — PNG yok.

FAST ödemeleri, alıcı IBAN ve adını EMV tarzı TLV ile taşıyan TR Karekod ile başlayabilir. Bu uç kişiden kişiye düzeni (biçim göstergesi 750210) kurar: IBAN’lı uygulama şablonu, alıcı adı, isteğe bağlı 12 haneli kuruş tutarı, serbest açıklama ve CRC-16/CCITT-FALSE. TR IBAN normalize edilip ISO 7064 mod-97 ile denetlenir; TR dışı IBAN ve TRY dışı para birimi reddedilir. Para göndermez ve QR görüntüsü üretmez.

Parametreler

iban* string Beneficiary Turkish IBAN (with or without spaces).
name* string Payee name shown to the payer (2–26 chars after trim).
amount number TRY amount; omitted → static QR (payer enters amount).
explanation string Optional remittance note (application free field 10).
currency string Must be TRY if provided.
generatorCode string QR generator / EFT code (4 digits). Defaults to last 4 of the IBAN bank code.
POST/v1/tr/pay/qr
İstek
{
  "iban": "TR33 0006 1005 1978 6457 8413 26",
  "name": "Ali Yilmaz"
}
henüz istek gönderilmedi
Yanıt
Çalıştır’a bas — ücretsiz dene, anahtar gerekmez.

YZ Altyapısı3

/v1/mcp/index MCP Araç Yüzey Endeksi 1 kredi

Her açık MCP sunucusunun gerçekte ne sunduğunun aranabilir ve tarihli arşivi — araç tanımları, günlük değişim akışı, "halı çekme" tespiti.

Resmî MCP kayıt defteri sunucunun adını ve adresini yayımlar, araç yüzeyini yayımlamaz; bir sunucunun ne sunduğunu öğrenmenin tek yolu ona bağlanıp `tools/list` çağırmaktır. Bu uç, bunu her gün tüm açık uzak sunucular için yapar ve sonucu saklar. Kaynakta cevabı olmayan üç soru cevaplanır hâle gelir: araç düzeyinde arama (kayıt defterinde yoktur), çalışma süresi ve — güvenlik açısından asıl olan — bir aracın açıklamasının DÜN ne dediği. MCP'de araç açıklaması modele verilen bağlamın parçasıdır, yani prompt metnidir; kullanıcı sunucuyu onayladıktan sonra değişmişse sunucu sessizce yeni talimat enjekte etmiştir. Endekslenen her araç ayrıca eşleşen KANITIYLA birlikte bir inceleme puanı taşır — iddiaya güvenmek yerine denetlenebilsin diye. Ölçüm sınırı: yalnız `initialize` ve `tools/list` çağrılır, `tools/call` asla.

Parametreler

view "search" | "changes" | "server" | "tool" | "stats" `search`: search tool name/description · `changes`: change feed (the actual product) · `server`: per-day measurement history for one server · `tool`: definition history for one tool · `stats`: index-level totals. varsayılan "search"
q string Search term (only `search`), e.g. `invoice`, `calendar`, `sql`.
server string Registry server name, e.g. `com.temsor/api`. Required for `server`/`tool` views.
tool string Tool name (only `tool` view).
minRisk integer Only tools whose review score is at or above this (only `search`).
severity "high" | "medium" | "low" | "info" Only `changes`.
type string Event type filter (only `changes`), e.g. `tool_description_changed`.
days integer Window in days (`changes` and `server`). varsayılan 30
limit integer varsayılan 50
POST/v1/mcp/index
İstek
{
  "view": "search",
  "q": "invoice"
}
henüz istek gönderilmedi
Yanıt
Çalıştır’a bas — ücretsiz dene, anahtar gerekmez.
/v1/model/archive Model Fiyat ve Yaşam Döngüsü Arşivi 1 kredi

400+ model ve 50+ sağlayıcı için fiyatların, bağlam pencerelerinin, ilan edilmiş emeklilik tarihlerinin ve sessiz kaldırmaların tarihli arşivi.

Sağlayıcılar fiyat sayfalarının üzerine yazar ve modelleri neyin değiştiğini yayımlamadan katalogdan düşürür. Bu uç günlük kayıt tutar; böylece kaynakta cevabı olmayan üç soru cevaplanabilir hâle gelir: bir modelin belirli bir gündeki fiyatı (sözleşme ve bütçe sorusu), hangi modellerin sessizce kaldırıldığı (bağımlılık denetimi sorusu) ve bir emeklilik tarihinin ne zaman ilan edildiği ile sonradan değişip değişmediği (göç planı sorusu). Fiyat noktaları ortak zaman hendeğine yazılır; tam aralık sorgusu `series/history` üzerinden `model.price.<saglayici>/<model>.<input|output|cache_read>` kimliğiyle alınır. Arşiv yalnız ileriye doğru birikir — sonradan geri üretilemez.

Parametreler

view "catalog" | "expiring" | "delisted" | "events" | "stats" `catalog`: tracked models · `expiring`: retirement announced · `delisted`: dropped from the catalogue · `events`: lifecycle events · `stats`: archive totals. varsayılan "catalog"
provider string Provider prefix, e.g. `anthropic`, `openai`, `google`.
slug string Full model id, e.g. `anthropic/claude-opus-5` (only `events`).
q string Search in model id/name (only `catalog`).
type "listed" | "delisted" | "relisted" | "price_up" | "price_down" | "context_changed" | "expiration_announced" | "expiration_changed" Event type (only `events`).
severity "high" | "medium" | "low" | "info"
withinDays integer `expiring`: retire within this many days. varsayılan 180
days integer `events`: window in days. varsayılan 90
includeDelisted boolean `catalog`: include delisted models. varsayılan false
limit integer varsayılan 100
POST/v1/model/archive
İstek
{
  "view": "expiring",
  "withinDays": 180
}
henüz istek gönderilmedi
Yanıt
Çalıştır’a bas — ücretsiz dene, anahtar gerekmez.
/v1/model/drift Model Sapma Kaydı 1 kredi

Sağlayıcı ucunun arkasında ne değiştiğinin bağımsız günlük kaydı: hangi takma ad hangi modele çözülüyordu, davranış ne zaman kaydı.

Sağlayıcılar sabit uç adlarının arkasındaki modeli güncelliyor. Bu uç bağımsız ölçümü yayımlıyor: sabit bir sonda takımı her gün sıcaklık 0 ile, sonda başına üç tekrarla gönderiliyor; sağlayıcının kendi yanıtında ilan ettiği kimlik (`modelVersion`, `system_fingerprint`, bölge) da kaydediliyor. Değişim ancak tekrarlar birbirini tutuyor VE önceki koşudan farklıysa sapma sayılıyor — aynı gün içindeki çelişki gürültüdür, sapma değildir. `aliases` görünümü "o gün `gemini-flash-latest` gerçekte neydi" sorusunu cevaplar; geriye dönük üretilemeyen veri budur.

Parametreler

view "aliases" | "events" | "probes" `aliases`: alias → the real model behind it · `events`: drift events · `probes`: probe status from the last run. varsayılan "aliases"
provider string Filter by provider (gemini, groq, cerebras, mistral).
severity "high" | "medium" | "low" | "info" Only for the `events` view.
days integer History window in days (only `events`). varsayılan 90
limit integer varsayılan 100
POST/v1/model/drift
İstek
{
  "view": "aliases"
}
henüz istek gönderilmedi
Yanıt
Çalıştır’a bas — ücretsiz dene, anahtar gerekmez.

Santral Arama31

/v1/pbx/audio/chunk Santral Ses Parçası 1 kredi

Canlı veya arşiv çağrı için isteğe bağlı ses parçası / müşteri URI bildirimi (boşta $0).

Müşteri depolama URI tercih edilir. Temsor işaretçi tutar; STT yalnız çağrı varken.

Parametreler

call_id* string
pbx_id string
uri string Customer-side media URI (preferred).
bytes_b64 string Optional small demo chunk; production prefers URI.
t_ms integer
POST/v1/pbx/audio/chunk
İstek
{
  "call_id": "call_msp_001",
  "pbx_id": "pbx_otel_msp_demo",
  "uri": "https://customer.example/rec/call_msp_001.wav",
  "t_ms": 12000
}
henüz istek gönderilmedi
Yanıt
Çalıştır’a bas — ücretsiz dene, anahtar gerekmez.
/v1/pbx/bridge/multi-agent Santral Çok Ajanlı Köprü 1 kredi

Sanal çok ajanlı köprü niyeti + ortak bellek ipucu (açık vaatler). Boşta $0, canlı Asterisk yok.

POST /v1/pbx/bridge/multi-agent {call_id, agents:[{role,label}]}. Sanal RTP ajan köprü niyetini indekse yazar (canlı Asterisk/ExternalMedia yok). Çağrıdaki açık vaatleri bağlayan shared_memory döner. Telnyx/DID/LLM yok.

Parametreler

call_id* string Call id to attach the multi-agent bridge intent to.
agents* object[] Virtual RTP agents to bridge (intent only — no live Asterisk).
pbx_id string Optional PBX scope; falls back to x-temsor-pbx-key or demo PBX.
POST/v1/pbx/bridge/multi-agent
İstek
{
  "call_id": "call_msp_001",
  "agents": [
    {
      "role": "primary",
      "label": "Ön büro Ayşe"
    },
    {
      "role": "specialist",
      "label": "Teknik 101"
    }
  ]
}
henüz istek gönderilmedi
Yanıt
Çalıştır’a bas — ücretsiz dene, anahtar gerekmez.
/v1/pbx/calls Santral Son Çağrılar 1 kredi

Son çağrıları aktarım yolu kırıntısıyla listele — site + müşteri arşiv tarayıcısı.

GET /v1/pbx/calls?limit=20. Anahtar varsa kendi santraline kapsamlanır. Boşta $0. Hat/DID satışı yok.

Parametreler

limit integer Max recent calls to return (1–100). varsayılan 20
POST/v1/pbx/calls
İstek
{
  "limit": 20
}
henüz istek gönderilmedi
Yanıt
Çalıştır’a bas — ücretsiz dene, anahtar gerekmez.
/v1/pbx/calls/get Santral Çağrı Getir 1 kredi

call_id ile tek çağrı + aktarım grafı — müşteri detay çekmecesi.

GET /v1/pbx/calls/get?call_id=…. Anahtar kapsamı. Yoksa found=false. Boşta $0.

Parametreler

call_id* string Call id (e.g. call_msp_002).
POST/v1/pbx/calls/get
İstek
{
  "call_id": "call_msp_002"
}
henüz istek gönderilmedi
Yanıt
Çalıştır’a bas — ücretsiz dene, anahtar gerekmez.
/v1/pbx/calls/graph Santral Çağrı Grafı / Aktarımlar 1 kredi

Bir çağrının aktarım grafı + kenarları — kim→kime→vaat nerede kaldı (moat).

GET /v1/pbx/calls/graph?call_id=…&stuck_at=310. Yol, path_tr (düz Türkçe), kenarlar ve ham aktarımlar. Biriken varlık: Transfer kenarı, bot transcript değil. Boşta $0. Hat/DID satışı yok.

Parametreler

call_id* string Call id whose transfer graph to return.
stuck_at string Optional override for where the promise stuck (extension).
POST/v1/pbx/calls/graph
İstek
{
  "call_id": "call_msp_002"
}
henüz istek gönderilmedi
Yanıt
Çalıştır’a bas — ücretsiz dene, anahtar gerekmez.
/v1/pbx/dictionary Santral Alan Sözlüğü 1 kredi

Alan sözlüğü v1 (otel: oda tipi, klima, check-out; santral firması: tarife, IMEI, iade) — arama boost + Fact çıkarımı; pilot eşanlamlıları dahil.

GET /v1/pbx/dictionary?domain=otel|santral_firmasi|msp|all (msp = santral_firmasi için eski takma ad). Boşta $0, LLM yok. Eş anlamlılar arşiv arama (eşleşme kırıntıları) ve Fact çıkarımını besler. Yazma: POST /v1/pbx/dictionary/add.

Parametreler

domain "otel" | "santral_firmasi" | "msp" | "all" Domain slice: otel | santral_firmasi (legacy alias: msp) | all varsayılan "all"
POST/v1/pbx/dictionary
İstek
{
  "domain": "otel"
}
henüz istek gönderilmedi
Yanıt
Çalıştır’a bas — ücretsiz dene, anahtar gerekmez.
/v1/pbx/dictionary/add Santral Sözlüğe Eşanlamlı Ekle 1 kredi

Alan sözlüğüne eşanlamlı ekle (santral kapsamlı veya global demo) — arama boost + Fact çıkarımını bileşikleştirir. ≤60/saat/key → 429. Boşta $0.

POST /v1/pbx/dictionary/add {term, alias, domain:otel|santral_firmasi, scope?:pbx|global}. pbx-index’e yazar. Arama eşleşme kırıntısı döner. Boşta $0, LLM yok. Eski domain=msp → santral_firmasi.

Parametreler

term* string Canonical term (e.g. AC, tariff). Plain Turkish preferred.
alias* string Synonym / alias to add (e.g. cooling, line package).
domain "otel" | "santral_firmasi" | "msp" Domain: otel | santral_firmasi (legacy msp accepted). varsayılan "otel"
kind "imei" | "tarife" | "oda" | "oda_tipi" | "klima" | "check_out" | "iade" | "sku" | "other" Fact kind; inferred from seed term when omitted.
boost number Search boost weight (default 2).
scope "pbx" | "global" pbx = scoped to x-temsor-pbx-key; global = demo-wide. Default: pbx if registered key, else global.
hint_tr string
hint_en string
POST/v1/pbx/dictionary/add
İstek
{
  "term": "klima",
  "alias": "cooling",
  "domain": "otel",
  "scope": "global"
}
henüz istek gönderilmedi
Yanıt
Çalıştır’a bas — ücretsiz dene, anahtar gerekmez.
/v1/pbx/events Santral Olayları 1 kredi

Asterisk’in programlama arayüzü (ARI) / Stasis (çağrı uygulama kanalı) olaylarını yazar. Opsiyonel x-temsor-pbx-key veya HMAC-SHA256 istek imzası. Gövde ≤256 KiB → 429. Çağrı yokken idle $0.

Demo olayları bellek/dosyada tutar. Kimlik: yok, x-temsor-pbx-key veya x-temsor-signature = hex(HMAC-SHA256(api_key, gövde)); imza başlığı varken kötü imza reddedilir. BridgeEnter → aktarım. Utterance/text → sezgisel açık vaat (LLM yok).

Parametreler

pbx_id string PBX id that emitted the ARI batch.
events* object[] ARI / Stasis event batch. Utterance/text fields trigger heuristic promise extract.
POST/v1/pbx/events
İstek
{
  "pbx_id": "pbx_otel_msp_demo",
  "events": [
    {
      "type": "StasisStart",
      "channel": "PJSIP/101-0001",
      "application": "temsor"
    }
  ]
}
henüz istek gönderilmedi
Yanıt
Çalıştır’a bas — ücretsiz dene, anahtar gerekmez.
/v1/pbx/facts Santral Çıkarılan Bilgiler 1 kredi

Türetilmiş indeksten çıkarılan bilgiler (IMEI, oda, tarife…) — call_id, kind, domain, q filtre.

GET /v1/pbx/facts?call_id=&kind=&domain=otel|santral_firmasi|all&q=&limit=50. Olgular transcript extract + alan sözlüğünden; pbx-index ile kalıcı. Anahtar kapsamı. Boşta $0. Hat/DID satışı yok; Asterisk müşteride; KVKK unut hazır.

Parametreler

call_id string Filter by call id (e.g. call_msp_001).
kind string Fact kind key (imei, oda, tarife, ...) or all.
domain "otel" | "santral_firmasi" | "msp" | "all" Domain slice: otel | santral_firmasi (legacy msp) | all.
q string Free-text filter over kind + value + call_id.
limit integer Max facts to return (1–200). varsayılan 50
POST/v1/pbx/facts
İstek
{
  "limit": 20
}
henüz istek gönderilmedi
Yanıt
Çalıştır’a bas — ücretsiz dene, anahtar gerekmez.
/v1/pbx/facts/get Santral Olgu Getir 1 kredi

id ile tek çıkarılan bilgi (olgu) — site + müşteri detay çekmecesi.

GET /v1/pbx/facts/get?id=…. Anahtar kapsamı. Yoksa found=false. Boşta $0. Hat/DID satışı yok.

Parametreler

id* string Fact id (e.g. fact_001).
POST/v1/pbx/facts/get
İstek
{
  "id": "fact_001"
}
henüz istek gönderilmedi
Yanıt
Çalıştır’a bas — ücretsiz dene, anahtar gerekmez.
/v1/pbx/index/partial Santral Canlı Kısmi İndeks Yaz 1 kredi

Çağrı içi kısmi indeks yaz (söz → olgu/vaat ipucu). ≤400ms fısıltı yolu; ≤600/saat/key → 429; boşta $0.

POST /v1/pbx/index/partial {call_id, text?, …}. Çağrı canlıyken kısmi metin → biriken olgu/vaat. Temsor STT/LLM yok — metni müşteri yollar. Asterisk müşteride; hat/DID satışı yok. Boşta $0.

Parametreler

call_id* string Live call id to upsert partial index for.
text string Partial utterance / snippet (customer STT or demo). Empty = metadata-only.
speaker string | null
t_ms integer | null
is_final boolean Finalized utterance span (vs interim).
live boolean Default true while call is live.
end_call boolean Mark live=false; idle $0 for this call.
promote boolean Promote heuristic hints into durable Promise/Fact docs.
pbx_id string
POST/v1/pbx/index/partial
İstek
{
  "call_id": "call_live_demo",
  "text": "Temsilci: Oda 412 klimasını yarın onaracağız, söz veriyorum.",
  "speaker": "temsilci",
  "t_ms": 12000,
  "is_final": true,
  "live": true
}
henüz istek gönderilmedi
Yanıt
Çalıştır’a bas — ücretsiz dene, anahtar gerekmez.
/v1/pbx/index/partial/get Santral Canlı Kısmi İndeks Oku 1 kredi

Çağrı içi kısmi indeksi oku — canlıyken biriken olgu/vaat/snippet.

GET /v1/pbx/index/partial/get?call_id=…. Canlı kısmi durum (fısıltı ≤400ms yolu). Canlı çağrı yoksa boşta $0. Asterisk müşteride; hat/DID satışı yok.

Parametreler

call_id* string Call id whose live partial index to read.
POST/v1/pbx/index/partial/get
İstek
{
  "call_id": "call_live_demo"
}
henüz istek gönderilmedi
Yanıt
Çalıştır’a bas — ücretsiz dene, anahtar gerekmez.
/v1/pbx/ingest/transcript Santral Transkript İçe Aktar 1 kredi

Transkript metninden sezgisel TR vaat çıkarıcı — açık Promise belgeleri (boşta $0, LLM yok).

Vaat cümlelerini yakalar (söz, vaat, edeceğiz, iade, iptal, yarın…). Yazmadan denemek için persist_promises=false. POST /v1/pbx/events içindeki utterance metninde de çalışır.

Parametreler

transcript* string TR utterance / transcript text to scan for promises.
call_id string
pbx_id string
who string
ext string
persist_promises boolean When false, extract only (dry-run, no write). When true, create Promise docs status=open. varsayılan true
POST/v1/pbx/ingest/transcript
İstek
{
  "transcript": "Temsilci Ayşe: Oda 412 kliması yarın 10:00'da onarılacak, söz veriyorum.",
  "persist_promises": true
}
henüz istek gönderilmedi
Yanıt
Çalıştır’a bas — ücretsiz dene, anahtar gerekmez.
/v1/pbx/night-twin/last Santral Gece İkizi Son Rapor 1 kredi

Volume’daki son gece-ikizi raporunu getir (hiç çalışmadıysa null). Boşta $0.

GET /v1/pbx/night-twin/last — POST /v1/pbx/night-twin/run son raporu. LLM/Telnyx yok.

Parametreler

POST/v1/pbx/night-twin/last
İstek
{}
henüz istek gönderilmedi
Yanıt
Çalıştır’a bas — ücretsiz dene, anahtar gerekmez.
/v1/pbx/night-twin/run Santral Gece İkizi Çalıştır 1 kredi

Gece taraması: N saatten eski açık vaatleri tara → kapanmamış aday listesi (iptal/iade/söz). ≤20/saat/key → 429. Boşta $0, LLM yok.

POST /v1/pbx/night-twin/run {pbx_id?, older_than_hours?}. Gece ikizi sezgiseli — N saatten eski açık vaat + iptal/iade/söz anahtarları. Son rapor volume'da. Telnyx/LLM yok.

Parametreler

pbx_id string Optional PBX scope; falls back to x-temsor-pbx-key scope.
older_than_hours number Scan open promises whose call is older than this many hours. varsayılan 24
POST/v1/pbx/night-twin/run
İstek
{
  "older_than_hours": 24
}
henüz istek gönderilmedi
Yanıt
Çalıştır’a bas — ücretsiz dene, anahtar gerekmez.
/v1/pbx/orchestra/act Santral ARI Orkestra Akt 1 kredi

Sorgu→akt: fısıltı / tut / aktar / PCI durdur / dinle. Niyet kaydı; isteğe bağlı müşteri Stasis webhook. ≤120/saat/key → 429. Hat satışı yok.

POST /v1/pbx/orchestra/act {call_id, action, params?, stasis_webhook_url?}. Arama/öneri sonucunu MÜŞTERİ Asterisk üzerinde ARI aksiyona çevirir (niyet + isteğe bağlı webhook). Temsor canlı RTP yok; Asterisk olmadan stub tamam. Boşta $0. Resepsiyonist bot değil.

Parametreler

call_id* string Live or indexed call id to act on.
action* "whisper" | "hold" | "transfer" | "pci_stop" | "snoop" whisper | hold | transfer | pci_stop | snoop
params object Action params (to_ext required for transfer).
pbx_id string
stasis_webhook_url string Optional customer Stasis webhook — forge POSTs the act intent there.
skip_forward boolean Record only; do not POST webhook.
POST/v1/pbx/orchestra/act
İstek
{
  "call_id": "call_msp_001",
  "action": "whisper",
  "params": {
    "text": "Açık klima vaadi — dün 412",
    "agent_ext": "101",
    "source_type": "promise"
  }
}
henüz istek gönderilmedi
Yanıt
Çalıştır’a bas — ücretsiz dene, anahtar gerekmez.
/v1/pbx/persons Santral Kişiler 1 kredi

Çağrı grafı / olgulardan hafif CRM — arayan telefon+ad ve aktarımlarda görülen dahili kimlikler.

GET /v1/pbx/persons?call_id=&kind=caller|extension|all&q=&limit=50. pbx-index Person satırları + Transfer / promise.ext’ten türetilmiş dahili kimlikler (ext_NNN). Anahtar kapsamı. Boşta $0. Hat/DID satışı yok; Asterisk müşteride; KVKK unut hazır.

Parametreler

call_id string Filter persons seen on this call id.
kind "caller" | "extension" | "all" caller = durable Person; extension = derived from call-graph hops; all = both.
q string Free-text over names, phones, org, extensions, facts.
include_extensions boolean Include derived extension identities (default true).
limit integer Max persons to return (1–200). varsayılan 50
POST/v1/pbx/persons
İstek
{
  "limit": 20
}
henüz istek gönderilmedi
Yanıt
Çalıştır’a bas — ücretsiz dene, anahtar gerekmez.
/v1/pbx/persons/get Santral Kişi Getir 1 kredi

id ile tek hafif-CRM kimlik — arayan Person veya türetilmiş dahili.

GET /v1/pbx/persons/get?id=per_001|ext_101. Anahtar kapsamı. Yoksa found=false. Boşta $0. Hat/DID satışı yok.

Parametreler

id* string Person id (e.g. per_001) or extension id (e.g. ext_101).
POST/v1/pbx/persons/get
İstek
{
  "id": "per_001"
}
henüz istek gönderilmedi
Yanıt
Çalıştır’a bas — ücretsiz dene, anahtar gerekmez.
/v1/pbx/promises Santral Açık Vaatler 1 kredi

Çağrı grafından açık/kırık vaat listesi — otel / santral firmaları satış demosu.

GET /v1/pbx/promises?status=open → kapanmamış vaat + aktarım yolu. Anahtar varsa kendi santraline kapsamlanır.

Parametreler

status "open" | "kept" | "broken" | "unknown" | "all" | "closed" Promise status filter; closed = kept|broken. Sales demo uses open. varsayılan "open"
POST/v1/pbx/promises
İstek
{
  "status": "open"
}
henüz istek gönderilmedi
Yanıt
Çalıştır’a bas — ücretsiz dene, anahtar gerekmez.
/v1/pbx/promises/close Santral Vaat Kapat 1 kredi

Açık vaadi tutuldu veya tutulmadı olarak işaretle; isteğe bağlı KVKK-güvenli not — satış demosu salt okunur değil. ≤60/saat/key → 429.

POST /v1/pbx/promises/close {promise_id, status:kept|broken, note?}. Nottaki telefon/e-posta temizlenir. Anahtar varsa kendi santraline kapsamlanır. Boşta $0 — LLM/PSTN yok.

Parametreler

promise_id* string Promise id (prm_*). Sales demo marks open promises kept|broken.
status* "kept" | "broken" Close outcome: kept (honoured) or broken (not kept).
note string Optional short operator note. Phones/emails stripped (KVKK-safe).
POST/v1/pbx/promises/close
İstek
{
  "promise_id": "prm_001",
  "status": "kept",
  "note": "Mühendis geldi, klima OK"
}
henüz istek gönderilmedi
Yanıt
Çalıştır’a bas — ücretsiz dene, anahtar gerekmez.
/v1/pbx/promises/export Santral Vaat Dışa Aktarım 1 kredi

Açık/kırık vaatleri CSV|JSON dışa aktar — otel / santral firmaları «şu söz kapanmadı» satış listesi.

GET /v1/pbx/promises/export?status=open|closed&format=csv|json. CSV/JSON: closed_at, close_note, path kırıntıları. Anahtar varsa kendi santraline kapsamlanır. Boşta $0.

Parametreler

status "open" | "kept" | "broken" | "unknown" | "all" | "closed" Promise status filter; closed = kept|broken. Sales demo uses open. varsayılan "open"
format "csv" | "json" Export format. varsayılan "csv"
POST/v1/pbx/promises/export
İstek
{
  "status": "open",
  "format": "csv"
}
henüz istek gönderilmedi
Yanıt
Çalıştır’a bas — ücretsiz dene, anahtar gerekmez.
/v1/pbx/promises/reopen Santral Vaat Geri Aç 1 kredi

Tutuldu/tutulmadı kapatmayı geri al — yanlış tıklamada vaadi yeniden açık yapar. ≤60/saat/key → 429.

POST /v1/pbx/promises/reopen {promise_id}. Yalnız kept|broken → open; closed_at/close_note temizlenir. Anahtar varsa kendi santraline kapsamlanır. Boşta $0.

Parametreler

promise_id* string Promise id (prm_*). Undo a kept|broken close — restore open.
POST/v1/pbx/promises/reopen
İstek
{
  "promise_id": "prm_005"
}
henüz istek gönderilmedi
Yanıt
Çalıştır’a bas — ücretsiz dene, anahtar gerekmez.
/v1/pbx/redact Santral Unut / KVKK Sil 1 kredi

Tek komut KVKK unut: türetilmiş indeksi (vaat/olgu/kısmi/ses işaretçisi) id veya telefonla temizle; kalıcı denetim (kim/ne/ne zaman + kapsam). ≤30/saat/key → 429. Ham ses URI müşteri santralinde kalır.

Sertleştirilmiş redaksiyon. mode=anonymize|delete. target_id veya phone ile. Hedef için Person/Promise/Fact/kısmi indeks + Temsor ses işaretçilerini temizler. Kalıcı denetim kaydı döner. Medya müşteride kalır. Liste: GET /v1/pbx/redact/audit.

Parametreler

target_type "promise" | "call" | "person" | "fact" | "utterance" Index document type. Optional when `phone` is set.
target_id string Document id (prm_*, per_*, call_*, fact_*).
phone string Caller phone — finds Person phones (+ linked derived index).
reason string KVKK (personal-data) / forget reason.
mode "anonymize" | "delete" anonymize (default) scrubs fields; delete removes docs.
who string Actor label for durable audit (defaults to pbx scope / demo-operator).
POST/v1/pbx/redact
İstek
{
  "target_type": "promise",
  "target_id": "prm_001",
  "reason": "KVKK talep",
  "mode": "anonymize"
}
henüz istek gönderilmedi
Yanıt
Çalıştır’a bas — ücretsiz dene, anahtar gerekmez.
/v1/pbx/redact/audit Santral KVKK Unut Denetimi 1 kredi

Son KVKK unut işlemlerini listele — kim/ne/ne zaman + kapsam (call_id|pbx_id|promise_id). Ham ses müşteri santralinde kalır.

GET /v1/pbx/redact/audit?limit=20. POST /v1/pbx/redact denetim izi. Türetilmiş indeks temizlenir; ham ses URI Temsor tarafından silinmez. Hat satışı yok; Asterisk müşteride.

Parametreler

limit integer Max recent forget actions to return (default 20).
POST/v1/pbx/redact/audit
İstek
{
  "limit": 20
}
henüz istek gönderilmedi
Yanıt
Çalıştır’a bas — ücretsiz dene, anahtar gerekmez.
/v1/pbx/register Santral Kaydı 1 kredi

Pilot santral kaydı; pbx_id + API anahtarı bir kez (hash ile saklanır). ≤5/saat/IP → 429. Boşta $0.

Kontrol düzlemi kaydı. API anahtarı bir kez gösterilir; saklanırken hash’lenir. x-temsor-pbx-key ile GET /v1/pbx/promises bu pbx_id ile sınırlanır. Boştayken konuşma tanıma yok.

Parametreler

pbx_id string Pilot PBX id; auto-minted if omitted.
label string Human label, e.g. hotel or PBX/IT provider site.
ari_webhook_secret string ARI webhook signing secret (stored as hint only).
name string Pilot contact name (waitlist / register).
email string Pilot contact email.
webhook_url string Optional outbound webhook URL — Temsor POSTs promise/fact/orchestra/redact events.
webhook_secret string Optional HMAC secret for outbound webhook signatures (x-temsor-signature).
webhook_events string[] | string Event list or comma string: promise.opened|closed, fact.extracted, orchestra.act, redact, or *.
POST/v1/pbx/register
İstek
{
  "pbx_id": "pbx_otel_msp_demo",
  "label": "Demo otel + santral firması"
}
henüz istek gönderilmedi
Yanıt
Çalıştır’a bas — ücretsiz dene, anahtar gerekmez.
/v1/pbx/status Santral Durumu 1 kredi

Kayıtlı santral kontrol-düzlemi durumu — sayılar + boşta. Hat/DID satışı yok.

GET /v1/pbx/status. Anahtar kapsamı. Asterisk müşteride; türetilmiş indeks Temsor’da. Boşta $0.

Parametreler

POST/v1/pbx/status
İstek
{}
henüz istek gönderilmedi
Yanıt
Çalıştır’a bas — ücretsiz dene, anahtar gerekmez.
/v1/pbx/synthetic/run Santral Sentetik Arayan Çalıştır 1 kredi

Yük demosu: örnek çağrı ifadeleri → vaat çıkarıcı → istatistik (calls, promises_open). ≤10/saat/key → 429. Boşta $0, LLM/PSTN yok.

POST /v1/pbx/synthetic/run {scenario:ivr_menu|promise_heavy, count:10..500}. Sahte ifadeler üretir, sezgisel ingest/transcript çıkarıcıyı çalıştırır, calls + promises_open döner. Telnyx/DID/LLM yok.

Parametreler

scenario "ivr_menu" | "promise_heavy" ivr_menu = DTMF/menu stress; promise_heavy = dense commitment lexicon. varsayılan "promise_heavy"
count integer Fake call count, capped 10..500. varsayılan 50
pbx_id string Optional PBX scope; falls back to x-temsor-pbx-key or demo PBX.
POST/v1/pbx/synthetic/run
İstek
{
  "scenario": "promise_heavy",
  "count": 50
}
henüz istek gönderilmedi
Yanıt
Çalıştır’a bas — ücretsiz dene, anahtar gerekmez.
/v1/pbx/webhooks Santral Giden Webhook 1 kredi

Giden webhook kaydet veya listele — müşteri URL vaat/olgu/orkestra/unut olaylarını alır (secret varsa HMAC). POST yazma ≤30/saat/key → 429.

POST /v1/pbx/webhooks {url, secret?, events?, ping?} kaydeder. GET listeler. ping:true test gönderir. Olaylar: promise.opened, promise.closed, fact.extracted, orchestra.act, redact. Secret varsa x-temsor-signature. Boşta $0. Hat satışı yok; Asterisk müşteride; KVKK.

Parametreler

url string Outbound webhook URL (http/https). Present → register; omit on GET → list.
secret string Optional HMAC-SHA256 secret → x-temsor-signature: sha256=<hex>.
events string[] | string Events: promise.opened|closed, fact.extracted, orchestra.act, redact, or *.
ping boolean If true with url → register then ping; if true without url → ping existing.
webhook_id string For ping: target webhook id.
limit integer List limit (default 50).
POST/v1/pbx/webhooks
İstek
{
  "url": "https://example.com/temsor-hook",
  "secret": "whsec_demo",
  "events": [
    "promise.closed",
    "fact.extracted",
    "orchestra.act",
    "redact"
  ],
  "ping": true
}
henüz istek gönderilmedi
Yanıt
Çalıştır’a bas — ücretsiz dene, anahtar gerekmez.
/v1/pbx/webhooks/deliveries Santral Webhook Teslimatları 1 kredi

Son N giden webhook teslimatını listele (stub veya canlı) — vaat/olgu/orkestra/unut/ping.

GET /v1/pbx/webhooks/deliveries?limit=20&webhook_id=. Temsor→müşteri POST günlüğü. Secret varsa HMAC. Boşta $0. Hat satışı yok; Asterisk müşteride; KVKK.

Parametreler

webhook_id string Filter by webhook id.
limit integer Max deliveries (default 20).
POST/v1/pbx/webhooks/deliveries
İstek
{
  "limit": 20
}
henüz istek gönderilmedi
Yanıt
Çalıştır’a bas — ücretsiz dene, anahtar gerekmez.
/v1/pbx/whisper/suggest Santral Canlı Fısıltı Öneri 1 kredi

Demo: ≤3 bağlam kartı; canlı kısmi indeks varsa onu tercih eder — mock <400ms; boşta $0.

POST /v1/pbx/whisper/suggest {call_id, partial_text}. Açık vaat ve olguları fısıltı kartı olarak döner. Mock gecikme her zaman 400ms altı. Telnyx/DID yok, canlı sağlayıcı yok — yalnız API CTA.

Parametreler

call_id* string Active call id for agent UI context.
partial_text string Partial transcript / utterance text (no live speech recognition). varsayılan ""
POST/v1/pbx/whisper/suggest
İstek
{
  "call_id": "call_msp_001",
  "partial_text": "klima yarın"
}
henüz istek gönderilmedi
Yanıt
Çalıştır’a bas — ücretsiz dene, anahtar gerekmez.

Uyum1

/v1/sanctions/screen Yaptırım Taraması 5 kredi

Bir ismi altı resmî yaptırım listesinde (ABD OFAC, BM, AB, İngiltere OFSI, İsviçre SECO, Kanada) harf çevrimine duyarlı bulanık eşleştirmeyle tarar.

Altı resmî liste tek şemaya indirilir: altı ayrı entegrasyon yerine tek çağrı. Kiril ve Arap harfli isimler Latin harfe çevrilir, unvan ve şirket ekleri ayıklanır, bilinen yazım aileleri birleştirilir — "Abd al-Rahman", "Abdul Rahman" ve "Abdulrahman" aynı kayda ulaşır. Her isabet kendini açıklar: hangi isim eşleşti, kaynak onu zayıf takma ad olarak mı işaretlemiş, doğum yılı ve ülke nasıl karşılaştırıldı. Elinizde varsa `birthYear` verin; yanlış eşleşmelerin çoğunu o eler. `asOf` listelerin geçmiş bir tarihteki hâline göre tarar — denetçinin asıl sorduğu sorudur; kapsam arşivimizin başladığı tarihle sınırlıdır ve `coverage` içinde bildirilir.

Parametreler

name* string Name to screen — person or organisation.
type "any" | "individual" | "entity" | "vessel" | "aircraft" Restrict to one subject type. Narrowing this removes most false positives. varsayılan "any"
birthYear integer Known birth year. The single strongest false-positive filter available.
country string Known country or nationality.
sources "OFAC_SDN" | "UN" | "EU"[] Defaults to all lists.
minScore number Score floor. 0.92+ reads as a match, 0.80+ as possible. varsayılan 0.75
limit integer varsayılan 10
asOf string Screen against the lists as they stood on this date. Limited by when our archive begins.
POST/v1/sanctions/screen
İstek
{
  "name": "Saddam Hussein"
}
henüz istek gönderilmedi
Yanıt
Çalıştır’a bas — ücretsiz dene, anahtar gerekmez.

Zaman Serisi2

/v1/series/history Zaman Serisi Tarihçesi 2 kredi

Biriktirilen kamu verisi serilerinin tarihçesini, değişim istatistikleriyle ve kaynak kanıtıyla döndürür.

Şu an beslenen seriler: TCMB günlük döviz kurları (`tcmb.usd`, `tcmb.eur`, …). Boş `seriesId` ile katalog listelenir. `fillGaps` hafta sonu/tatil boşluklarını son değerle doldurur; `includeEvidence` her nokta için kaynak URL ve içerik özetini ekler.

Parametreler

seriesId string Series id, e.g. `tcmb.usd`. Omit to list the catalogue.
from string Start date (inclusive).
to string End date (inclusive).
limit integer varsayılan 365
fillGaps boolean varsayılan false
includeEvidence boolean Include source URL and content excerpt for each point. varsayılan false
POST/v1/series/history
İstek
{}
henüz istek gönderilmedi
Yanıt
Çalıştır’a bas — ücretsiz dene, anahtar gerekmez.
/v1/tr/fuel/prices Türkiye Akaryakıt Fiyatları 2 kredi

81 ilin benzin, motorin ve yakıt fiyatları — geçmiş bir tarihte yürürlükte olan fiyat dahil.

Dağıtıcı hem bugünün pompa fiyatını hem de ilçe ilçe, aralık aralık sorgulanan bir geçmiş sayfasını yayımlıyor. Bu uç asıl para eden soruyu TEK çağrıda yanıtlar: 12 Mart'ta Ankara'da motorin kaç liraydı? `asOf` ile o gün yürürlükte olan fiyat döner — o gün zam/indirim yoksa bir önceki fiyat taşınır, `effectiveFrom` başlangıcını söyler ve `carriedForward: true` işaretlenir. `from`/`to` ile aralıktaki değişimler yüzde farkıyla listelenir. Her değer, okunduğu sayfanın URL'i ve içerik özetiyle saklanır; yıllar sonra denetimde savunulabilir. `province` boş bırakılırsa kapsam listelenir.

Parametreler

province string | number Province name or plate code — "Ankara", "istanbul" or 34. Leave empty to list covered provinces.
product "benzin" | "motorin" | "motorin_ekstra" | "gazyagi" | "kalorifer" | "fueloil" | "fueloil_yk" Fuel product. Omitted → every product available for that province.
asOf string Price in force on this date (YYYY-MM-DD). Omitted → latest known price.
from string With `to`: return the price changes in this window.
to string
includeDistricts boolean Adds districts whose pump price differs from the province reference price. varsayılan false
POST/v1/tr/fuel/prices
İstek
{}
henüz istek gönderilmedi
Yanıt
Çalıştır’a bas — ücretsiz dene, anahtar gerekmez.

Kargo1

/v1/shipping/identify Takip Numarası Tanıma deterministik 1 kredi

Takip numarasının hangi taşıyıcıya ait olduğunu tanır, sağlaması olan biçimlerde doğrular ve kanonik takip bağlantısını döndürür.

Farklı taşıyıcılardan numara alan ve müşteriyi doğru takip sayfasına yönlendirmesi gereken sipariş sistemleri için. Türk taşıyıcıların çoğu örtüşen düz sayısal aralıklar kullanır; tek bir kesin cevap çoğu zaman mümkün değildir. Kesinlik uydurmak yerine sıralı ADAY LİSTESİ döner — müşteriyi yanlış firmanın sayfasına yollamak, ona kargonun kaybolduğunu düşündürür. S10 (Dünya Posta Birliği) numaraları tam doğrulanır: mod-11 sağlaması hesaplanır, hizmet türü ve çıkış ülkesi çözülür. Sağlamasını standarda karşı doğrulamadığımız biçimlerde sonuç `not-verified` der, tahmin etmez — yanlış ret, dürüst bir bilinmezden kötüdür. Gönderi DURUMU bilerek kapsam dışı: Türk taşıyıcılar bunun için bayi kimliği ister, site kazımak ise kırılgan ve kullanım şartlarına aykırı olurdu.

Parametreler

trackingNumber* string Tracking number, with or without spaces and dashes.
country string Destination or origin country hint, e.g. "TR". Narrows the candidates.
POST/v1/shipping/identify
İstek
{
  "trackingNumber": "RR123456785TR"
}
henüz istek gönderilmedi
Yanıt
Çalıştır’a bas — ücretsiz dene, anahtar gerekmez.

Adres1

/v1/tr/address/parse Türkçe Adres Ayrıştırma deterministik 1 kredi

Serbest metin Türkçe adresi mahalle, cadde/sokak, bina, kat, daire, ilçe, il ve posta koduna ayırır.

Kısaltma kaosunu (Mah./Mh., Cd./Cad., Sk./Sok., No:12/5, K:3 D:7) tek elden çözer; posta koduyla ili çapraz doğrular, ilçe yazım hatalarını sözlüğe göre düzeltir ve her alan için güven skoru üretir. Ayrıştırılamayan parçalar `unparsed` içinde açıkça bildirilir — sessizce veri kaybı yoktur.

Parametreler

address* string Free-text address.
defaultProvince string Province to assume when the address has none.
POST/v1/tr/address/parse
İstek
{
  "address": "Caferağa Mah. Moda Cd. No:12/5 K:3 34710 Kadıköy/İstanbul"
}
henüz istek gönderilmedi
Yanıt
Çalıştır’a bas — ücretsiz dene, anahtar gerekmez.

Takvim1

/v1/tr/business-days Türkiye İş Günü Hesabı deterministik 1 kredi

Resmî ve dinî tatilleri (arife yarım günleri dahil) hesaba katarak iş günü ekler veya iki tarih arasını sayar.

Ramazan ve Kurban bayramları hicri takvime bağlı olduğu için ilan edilmiş tarih tablosundan okunur; henüz resmî ilanı yapılmamış yıllar `confirmed:false` ile tahmini olarak işaretlenir. Termin, SLA, vade ve kargo süresi hesaplayan her sistemin ihtiyacı.

Parametreler

start* string Start date (YYYY-MM-DD).
addDays integer Add/subtract this many business days (not calendar days).
end string If set, count business days between start and this date.
countHalfDaysAsWork boolean Count Arife half-days as working days? varsayılan true
POST/v1/tr/business-days
İstek
{
  "start": "2026-03-16",
  "addDays": 10
}
henüz istek gönderilmedi
Yanıt
Çalıştır’a bas — ücretsiz dene, anahtar gerekmez.

Türkiye3

/v1/tr/labor Kıdem, İhbar ve Yıllık İzin deterministik 1 kredi

Hizmet süreleri ve giydirilmiş brütten kıdem, ihbar ve yıllık izin hakkını hesaplar; o güne ait tavan ve asgari ücret tablosunu kullanır.

Bordro ve İK araçları her Ocak ve Temmuz'da kıdem tavanı, SGK tavanı, asgari ücret kovalıyor. Bu uç, yasal formülü (4857 md. 17 ve 53, mülga 1475 md. 14) o tablolara uygular. Tavan aylık ücrete uygulanır, toplama değil. Kıdemden yalnız damga (binde 7,59) kesilir; gelir vergisi yok. İhbar vergiye tabidir — brütü döneriz, kümülatif matrahı bilemediğimiz için kesintiyi uydurmayız. Söylemediği şey: bu işçinin kıdeme hak kazanıp kazanmadığı. O, feshin sebebine bağlı. Sayıyı "alacağı" diye yazmak, duruşmada kaybettirir.

Parametreler

startDate* string Employment start date (YYYY-MM-DD).
endDate* string Termination date (YYYY-MM-DD). Inclusive of this day.
monthlyGross* number Gross monthly wage the severance is based on (giydirilmiş brüt).
asOf string Rate table date. Defaults to endDate.
age integer Employee age at termination — affects annual-leave entitlement (under 18 or 50+).
unusedLeaveDays number Unused annual-leave days, if you also want the unused-leave gross.
POST/v1/tr/labor
İstek
{
  "startDate": "2025-08-01",
  "endDate": "2026-08-01",
  "monthlyGross": 33030
}
henüz istek gönderilmedi
Yanıt
Çalıştır’a bas — ücretsiz dene, anahtar gerekmez.
/v1/tr/tebligat-clock Tebligat Süre Hesabı deterministik 1 kredi

Bir tebligatın hüküm (ulaşmış sayılma) tarihini ve HMK'ya göre tatil kayması uygulanmış son günü, olayın gerçekte olduğu tarihten hesaplar.

7201 sayılı Kanun, süre saatini "zarftaki tarih" değil ayrı bir olaya bağlar — elektronik tebligatta UETS gönderim, okunma VE ulaşma tarihlerinin üçünü de gösterir; saati yalnız ulaşma tarihi başlatır (md. 7/a: adrese ulaştıktan 5 takvim günü sonra tebliğ edilmiş sayılır, açılmış olsun olmasın). HMK bunun üstüne iki kural daha ekler: tebliğ günü sürenin kendisine dahil değildir (md. 92 — süre ertesi gün başlar) ve hesaplanan son gün hafta sonuna ya da tam gün resmî/dinî tatile denk gelirse ilk iş gününe kayar (md. 93); arife (yarım gün) kaydırmaz. Söylemediği şey: tebligatın kendisinin usulüne uygun olup olmadığı, ya da sizin dosyanızdaki `periodType`in (itiraz, temyiz, cevap…) kaç gün olduğu — bu sayı kanuna göre değişir, tahmin etmeyiz; `periodDays`i siz verirsiniz. Şimdilik yalnız "hmk" kanun ailesi kapsanıyor.

Parametreler

type* "electronic" | "physical" | "vekil" | "ilanen" | "last_known_address" Notification method. Determines which event `basisDate` refers to and whether the deemed-received date is same-day or shifted.
lawFamily* "hmk" Body of procedural law the period is computed under. Only "hmk" (Code of Civil Procedure) is supported so far.
basisDate* string The date `basisLabel` describes for this type — for "electronic" this is the date UETS reports the message as reached, not sent or read.
periodDays* integer Length of the statutory or judicial period, in days, counted from `periodStart`.
periodType string Free-text label for the period (e.g. "itiraz", "temyiz"), echoed back only — not mapped to a day count.
ilanenDeemedDays integer Only valid with type "ilanen": number of days the competent authority set for the notice to become deemed received (TK 31), 7-15, default 7. Not the number of days for the underlying period.
hasAttorney boolean Whether the addressee has a registered attorney of record. When true and `type` is not "vekil", a TK 11 warning is added noting that service should have gone to the attorney.
subjectToJudicialRecess boolean Whether this matter is subject to the judicial recess (adli tatil, HMK 104) instead of being exempt. Only affects the result when `lawFamily` is "hmk" and the computed last day falls in the 20 July - 31 August window.
POST/v1/tr/tebligat-clock
İstek
{
  "type": "electronic",
  "lawFamily": "hmk",
  "basisDate": "2026-03-16",
  "periodDays": 7,
  "periodType": "itiraz"
}
henüz istek gönderilmedi
Yanıt
Çalıştır’a bas — ücretsiz dene, anahtar gerekmez.
/v1/tr/vat KDV ve Tevkifat deterministik 1 kredi

Tutarı matrah, KDV ve isteğe bağlı tevkifata ayırır: satıcıya ödenecek, tevkif edilen KDV.

Fatura satırı ve ödeme ekranı için KDV dahil/hariç; tevkifat varsa alıcının satıcıya ödeyeceği ile vergi dairesine yatıracağı ayrılır. Oranlar %0, %1, %10, %20. Tevkifat KDV'nin kesri (2/10–10/10) veya GİB listesindeki bir kod. 2026 eşiği (KDV dahil 12.000 ₺) tutarla karşılaştırılır ama `applies` daima null: tevkifatın gerçekten doğması iki tarafın mükellefiyetine bağlı, o burada yok. Kesir vermek hukuki görüş değildir.

Parametreler

amount* number The amount to tax. See amountIncludesVat.
amountIncludesVat boolean If true, `amount` is the gross (KDV dahil); if false, it is the net/matrah. varsayılan false
rate number | number | number | number VAT rate in percent. 0, 1, 10 or 20. varsayılan 20
withholding string Withholding fraction such as "5/10", or a code from the list (reklam, tasima, hurda, isgucu…).
POST/v1/tr/vat
İstek
{
  "amount": 1000,
  "rate": 20
}
henüz istek gönderilmedi
Yanıt
Çalıştır’a bas — ücretsiz dene, anahtar gerekmez.

ÜrünlerPazar listesi ve kasa için paketlenmiş uç kümeleri.

Fiyatlandırmatek anahtar tüm uçları kapsar

Bu sayfada ücretsiz dene → anahtar gerektiğinde Ödemeye geç · API erişimi.

Kredi çağrı başına düşer, önbellekten gelen yanıt ücretsizdir. Anahtarsız istekler IP başına dar bir demo kotasıyla çalışır; kaydolmadan değerlendirebilirsiniz.

API anahtarı ödeme onaylanır onaylanmaz e-postayla gelir. Plan yükseltmede anahtar DEĞİŞMEZ, entegrasyonunuz kırılmaz.

Ödemeden önce entegrasyonu bitirmek ister misiniz?

Yapay zekâ asistanından kullanaynı katalog, MCP aracı olarak

Her uç aynı zamanda Model Context Protocol üzerinden yayınlanıyor; Claude, ChatGPT ya da kendi ajanınız doğrudan çağırabilir — ara kod yok, sarmalayıcı fonksiyon yok. Asistan aynı girdi şemalarını ve aynı ölçümü görür.

Şu an 68 araç. Yeni uçlar kendiliğinden görünür; sizin tarafınızda güncellenecek bir şey yok.

claude_desktop_config.json

{
  "mcpServers": {
    "temsor": {
      "url": "https://api.temsor.com/mcp",
      "headers": { "x-api-key": "fk_live_…" }
    }
  }
}

Hızlı başlangıç

Resmî istemci: npm install temsor-api · npmjs.com/package/temsor-api

Node.js

import Client from "temsor-api";

const api = new Client({ apiKey: KEY });
const r = await api.${(() => {
  const first = apis[0];
  return first.slug.split(/[/-]/).map((p, i) => (i === 0 ? p : p[0].toUpperCase() + p.slice(1))).join('');
})()}(${esc(JSON.stringify(apis[0].examples[0]?.input ?? {}))});
console.log(r, r.$meta);

cURL

curl -s https://api.temsor.com/v1/tr/labor \
  -H "content-type: application/json" \
  -H "x-api-key: fk_live_…" \
  -d '{"startDate":"2025-08-01","endDate":"2026-08-01","monthlyGross":33030}'

JavaScript

const res = await fetch("https://api.temsor.com/v1/tr/labor", {
  method: "POST",
  headers: { "content-type": "application/json", "x-api-key": KEY },
  body: JSON.stringify({"startDate":"2025-08-01","endDate":"2026-08-01","monthlyGross":33030})
});
const { data } = await res.json();

Python

import httpx
r = httpx.post("https://api.temsor.com/v1/tr/labor",
    headers={"x-api-key": KEY},
    json={"startDate":"2025-08-01","endDate":"2026-08-01","monthlyGross":33030})
data = r.json()["data"]
temsor API

Tek anahtar ve tek yanıt zarfı arkasında küçük, kesin API’ler. Yeni uçlar aynı anahtarla gelir.

Kaynaklar OpenAPI 3.1MCP manifestServis sağlığı
Yanıt sözleşmesi

{ ok, data, meta }

{ ok:false, error }

Neyin bozulduğunu yazın

Yanlış sonuç, eksik alan, olmasını istediğiniz bir uç — kuyruğa değil, bir insana ulaşır.