e-Fatura Belgesi Üretici
Düz JSON’dan UBL-TR e-Fatura / e-Arşiv XML belgesi üretir; tüm toplamları kendisi hesaplar, tarafları doğrular.
POST /v1/tr/invoice/build · 3 kredi
- 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.
/v1/tr/invoice/build
{
"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
}
]
}
Çalıştır’a basınca tarayıcınızdan canlı API çağrılır.
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.
Tarihçe sonradan üretilemez
Kur arşivi her iş günü büyüyor ve her nokta kaynak URL’i ile içerik özetini saklıyor. Rakip bugünün bültenini okuyabilir — geçen çeyreği üretemez.
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
Finans1
/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 |
/v1/tr/invoice/build
{
"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
}
]
}
Çalıştır’a basınca tarayıcınızdan canlı API çağrılır.
Fiyatlandırmatek anahtar tüm uçları kapsar
- kredi
- 50,000
- Hız sınırı
- 10/s
- kredi
- 300,000
- Hız sınırı
- 30/s
- kredi
- 2,000,000
- Hız sınırı
- 100/s
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.
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 14 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/invoice/build \
-H "content-type: application/json" \
-H "x-api-key: fk_live_…" \
-d '{"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}]}'JavaScript
const res = await fetch("https://api.temsor.com/v1/tr/invoice/build", {
method: "POST",
headers: { "content-type": "application/json", "x-api-key": KEY },
body: JSON.stringify({"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}]})
});
const { data } = await res.json();Python
import httpx
r = httpx.post("https://api.temsor.com/v1/tr/invoice/build",
headers={"x-api-key": KEY},
json={"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}]})
data = r.json()["data"]