EN Araçları dene
← Finans

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.

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

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.
1uç 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

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
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.

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/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"]
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.