API ve MCP
Altı iş, bir anahtar.
NES adresi ve hesap parolası yönetim ayarlarından girilir. İstekler Authorization: Bearer efa_… ile gider. Gönderimde Idempotency-Key zorunlu. Aynı anahtar ikinci kez aynı belgeyi döner.
Alıcı e-Fatura kayıtlıysa belge e-Fatura olur. Değilse e-Arşiv. Bunu GET /api/v1/mukellef/{vkn} ile önceden de sorabilirsin. e-Arşiv alıcısında e-posta zorunlu. İade, faturaTipi: IADE ve ilgiliUuid ile aynı gönderim ucundan gider.
| İş | REST | MCP |
|---|---|---|
| Mükellef | GET /api/v1/mukellef/{vkn} | mukellef_sorgula |
| Gönder | POST /api/v1/faturalar | fatura_gonder |
| Durum | GET /api/v1/faturalar/{uuid} | fatura_getir |
| Gelenler | GET /api/v1/faturalar | gelen_faturalar |
| Kabul / Red | POST …/kabul veya …/red | fatura_kabul, fatura_red |
| İptal | POST …/iptal | fatura_iptal |
| Kontör | GET /api/v1/kontor | kontor |
Kabul ve red yalnız gelen ticari faturada, iletimden itibaren 8 gün içinde geçerlidir. e-Arşiv iptali aynı pencerede. Karşı taraf vergi mükellefiyse durum pending_approval olur. Nihai tüketicide cancelled. Giden e-Fatura bu uçla iptal edilmez: not_cancellable.
curl -X POST http://127.0.0.1:4181/api/v1/faturalar \
-H "Authorization: Bearer efa_ANAHTAR" \
-H "Idempotency-Key: siparis-1001" \
-H "Content-Type: application/json" \
-d '{"aliciVkn":"11111111111","aliciUnvan":"Ali Veli","eposta":"ali@ornek.com","kalemler":[{"ad":"Hizmet","miktar":1,"birimFiyat":100,"kdvOrani":20}]}'
OpenAPI: /api/v1/openapi.json. MCP adresi /mcp. Stdio için EFATURA_API_URL ve EFATURA_API_TOKEN.
Deneme alıcısı 1234567801 e-Fatura kaydılı sayılır. On haneli ve sonu çift VKN de kayıtlı sayılır. NES anahtarı gelince deneme kapanır. Canlı uç eşlemesi Swagger ile açılır.