E-Arşiv Portal API Dokümanı
Şirket360 E-Arşiv portal API entegrasyonu için gerekli tüm bilgiler
Başlangıç
e-Arşiv Portal API, kullanıcıların sistemde kayıtlı verilerine uzaktan erişim sağlaması ve işlemleri dijital olarak gerçekleştirmesi amacıyla geliştirilmiştir.
API, fatura sorgulama, oluşturma, gönderme ve çeşitli yönetim işlemlerini destekler. Her modül için özel uç noktalar (endpoint) tanımlanmıştır ve bu dökümantasyon üzerinden tüm detaylara ulaşabilirsiniz.
Kimlik Doğrulama
API ile işlem yapabilmek için ilk adım olarak giriş yapmanız gerekmektedir. Bunun için
/api/v1/login
endpoint’ine e-posta ve şifre bilgilerinizi
göndererek access_token
almanız gerekir.
Token aldıktan sonra, tüm korumalı (private) endpointlere istek atarken aşağıdaki şekilde
Authorization
header’ını kullanmalısınız:
Uyarı: Her access_token belirli bir süre için geçerlidir (expires_at
alanında verilir). Token süresi dolduğunda tekrar giriş yaparak yeni token almalısınız.
Giriş İşlemi
Giriş için aşağıdaki örnek isteği kullanabilirsiniz:
POST /api/v1/login Host: earsivportal.com Content-Type: application/json { "email": "info@example.com", "password": "your_password" }
Başarılı yanıt:
{ "status": "success", "code": 200, "message": "Giriş başarılı!", "data": { "access_token": "JWT_TOKEN_STRING", "token_type": "Bearer", "expires_at": "2026-06-27T17:51:29.000000Z" } }
Destek
Modüller ve entegrasyon süreçleri hakkında yaşadığınız sorunlar veya sorularınız için lütfen entegrasyon@earsivportal.com adresine e-posta göndererek uzman destek ekibimizle iletişime geçin.
Müşteri İşlemleri
Müşteri Listesi
Belirtilen şirkete (company_id) ait müşterileri listeler. Bu endpoint ile sisteme kayıtlı müşterilerin bilgilerine ulaşabilirsiniz.
URL Parametreleri
Parametre | Tip | Zorunlu | Açıklama |
---|---|---|---|
company_id | integer | Evet | Firma ID bilgisi |
Header Bilgileri
Örnek İstek
GET /api/v1/company/1/customers Host: earsivportal.com Authorization: Bearer your_access_token
Örnek Yanıt
Başarılı Yanıt (200 OK)
{ "status": "success", "code": 200, "message": "Müşteri listesi getirildi.", "data": [ { "id": 1, "tenant_id": 1, "user_id": 1, "identity_number": "111111113", "tax_office": "Ataşehir", "title": "Şirket360 Teknoloji Limited Şirketi", "first_name": null, "last_name": null, "invoice_address": "Test adres", "country": "Turkey", "email": "info@sirket360.com", "phone": "5450000000", "created_at": "2025-06-22T16:44:22.000000Z", "updated_at": "2025-06-26T08:19:50.000000Z", "deleted_at": null, "country_formatted": "Türkiye", "total_invoice_amount": 0, "invoices": [] }, { "id": 2, "tenant_id": 1, "user_id": 1, "identity_number": "11111111111", "tax_office": null, "title": "Ahmet Mehmet", "first_name": "Ahmet", "last_name": "Mehmet", "invoice_address": "", "country": "Turkey", "email": "", "phone": "5530000000", "created_at": "2025-06-22T16:44:22.000000Z", "updated_at": "2025-06-22T16:44:22.000000Z", "deleted_at": null, "country_formatted": "Türkiye", "total_invoice_amount": 0, "invoices": [] } ] }
Not: Bu endpoint, sadece yetkili kullanıcı token'ı ile çalışır. Token geçersizse
401 Unauthorized
hatası döner.
Yeni Müşteri Oluşturma
Belirtilen firmaya (company_id) ait yeni bir müşteri kaydı oluşturur.
URL Parametreleri
Parametre | Tip | Zorunlu | Açıklama |
---|---|---|---|
company_id | integer | Evet | Firma ID bilgisi |
Header Bilgileri
Authorization: Bearer your_access_token
İstek Parametreleri
Parametre | Tip | Zorunlu | Açıklama |
---|---|---|---|
identity_number | string | Evet | TCKN veya VKN |
tax_office | string | Hayır | Vergi dairesi |
title | string | Hayır | Müşteri unvanı |
first_name | string | Hayır | Adı (bireysel müşteriler için) |
last_name | string | Hayır | Soyadı (bireysel müşteriler için) |
invoice_address | string | Hayır | Fatura adresi |
country | string | Hayır | Ülke adı |
string | Hayır | E-posta adresi | |
phone | string | Hayır | Telefon numarası |
Örnek İstek
{ "identity_number": "111111114", "tax_office": "Ataşehir", "title": "Şirket360 Teknoloji Limited Şirketi", "first_name": "", "last_name": "", "invoice_address": "Test adres", "country": "Turkey", "email": "info@example.com", "phone": "5450000000" }
Örnek Yanıt
Başarılı Yanıt (201 Created)
{ "status": "success", "code": 200, "message": "Müşteri başarıyla oluşturuldu.", "data": { "identity_number": "111111114", "tax_office": "Ataşehir", "title": "Şirket360 Teknoloji Limited Şirketi", "first_name": null, "last_name": null, "invoice_address": "Test adres", "country": "Turkey", "email": "info@sirket360.com", "phone": "5450000000", "tenant_id": 1, "user_id": 1, "updated_at": "2025-06-26T15:59:57.000000Z", "created_at": "2025-06-26T15:59:57.000000Z", "id": 282, "country_formatted": "Türkiye", "total_invoice_amount": 0, "invoices": [] } }
Not: Aynı TCKN/VKN ile birden fazla müşteri kaydı oluşturulamaz. Mevcut bir müşteri
varsa 409 Conflict
hatası döner.
Müşteri Bilgilerini Güncelleme
Var olan bir müşterinin bilgilerini güncellemek için kullanılır. Bu işlemde yalnızca
identity_number
zorunludur, diğer alanlar opsiyoneldir ve sadece gönderilen alanlar
güncellenir.
URL Parametreleri
Parametre | Tip | Zorunlu | Açıklama |
---|---|---|---|
company_id | integer | Evet | Firma ID bilgisi |
customer_id | integer | Evet | Güncellenecek müşteri ID'si |
Header Bilgileri
Authorization: Bearer your_access_token
Body Parametreleri
Parametre | Tip | Zorunlu | Açıklama |
---|---|---|---|
identity_number | string | Evet | TCKN veya VKN |
tax_office | string | Hayır | Vergi dairesi |
title | string | Hayır | Müşteri unvanı |
first_name | string | Hayır | Adı |
last_name | string | Hayır | Soyadı |
invoice_address | string | Hayır | Fatura adresi |
country | string | Hayır | Ülke |
string | Hayır | E-posta adresi | |
phone | string | Hayır | Telefon numarası |
Örnek İstek
{ "identity_number": "111111114", "tax_office": "Ataşehir", "title": "Şirket360 Teknoloji Limited Şirketi", "first_name": "", "last_name": "", "invoice_address": "Test adres", "country": "Turkey", "email": "info@example.com", "phone": "5450000000" }
Örnek Yanıt
Başarılı Yanıt (200 OK)
{ "status": "success", "code": 200, "message": "Müşteri güncellendi.", "data": { "id": 282, "tenant_id": 1, "user_id": 1, "identity_number": "111111114", "tax_office": "Ataşehir", "title": "Şirket360 Teknoloji Limited Şirketi", "first_name": null, "last_name": null, "invoice_address": "Test adres", "country": "Turkey", "email": "info@example.com", "phone": "5450000000", "created_at": "2025-06-26T15:59:57.000000Z", "updated_at": "2025-06-26T15:59:57.000000Z", "deleted_at": null, "country_formatted": "Türkiye", "total_invoice_amount": 0, "invoices": [] } }
Müşteri Detayını Getirme
Belirtilen firmaya (company_id) ve müşteri ID'sine (customer_id) ait müşterinin detay bilgilerini getirir.
URL Parametreleri
Parametre | Tip | Zorunlu | Açıklama |
---|---|---|---|
company_id | integer | Evet | Firma ID bilgisi |
customer_id | integer | Evet | Detayı alınacak müşteri ID'si |
Header Bilgileri
Örnek İstek
GET /api/v1/company/1/customers/1 Host: earsivportal.com Authorization: Bearer your_access_token
Örnek Yanıt
Başarılı Yanıt (200 OK)
{ "status": "success", "code": 200, "message": "Müşteri detayı listelendi", "data": { "id": 1, "tenant_id": 1, "user_id": 1, "identity_number": "111111113", "tax_office": "Ataşehir", "title": "Şirket360 Teknoloji Limited Şirketi", "first_name": null, "last_name": null, "invoice_address": "Test adres", "country": "Turkey", "email": "info@example.com", "phone": "5450000000", "created_at": "2025-06-22T16:44:22.000000Z", "updated_at": "2025-06-26T08:19:50.000000Z", "deleted_at": null, "country_formatted": "Türkiye", "total_invoice_amount": 0, "invoices": [] } }
Not: Eğer belirtilen customer_id
kayıtlı değilse 404 Not
Found
hatası döner.
Müşteri İşlemleri
Müşteri Silme
Belirtilen firmaya (company_id) ve müşteri ID'sine (customer_id) ait müşteriyi sistemden siler.
URL Parametreleri
Parametre | Tip | Zorunlu | Açıklama |
---|---|---|---|
company_id | integer | Evet | Firma ID bilgisi |
customer_id | integer | Evet | Silinecek müşteri ID'si |
Header Bilgileri
Örnek İstek
DELETE /api/v1/company/1/customers/282 Host: earsivportal.com Authorization: Bearer your_access_token
Örnek Yanıt
Başarılı Yanıt (200 OK)
{ "status": "success", "code": 200, "message": "Müşteri silindi" }
Not: Bu işlem geri alınamaz. Müşteri yumuşak (soft delete) olarak silinir ve ileride geri yüklenebilir.
Ürün İşlemleri
Ürünleri Listeleme
Belirtilen firmaya ait tüm ürünleri listeler.
URL Parametreleri
Parametre | Tip | Zorunlu | Açıklama |
---|---|---|---|
company_id | integer | Evet | Firma ID |
Header Bilgileri
Örnek İstek
GET /api/v1/company/1/products Host: earsivportal.com Authorization: Bearer your_access_token
Örnek Yanıt (200 OK)
{ "status": "success", "code": 200, "message": "Ürün listesi getirildi.", "data": [ { "id": 34, "tenant_id": 1, "user_id": 1, "code": "PRD-001", "name": "Tükenmez Kalem", "unit": "C62", "unit_price": 12.5, "vat_rate": 20, "total_price": 15, "created_at": "2025-06-26T16:29:30.000000Z", "updated_at": "2025-06-26T16:29:30.000000Z", "deleted_at": null, "unit_formatted": "Adet", "unit_price_formatted": "₺12,50", "total_price_formatted": "₺15,00" }, { "id": 32, "tenant_id": 1, "user_id": 1, "code": "411297183", "name": "test ürün", "unit": "C62", "unit_price": 100, "vat_rate": 10, "total_price": 110, "created_at": "2025-06-22T16:45:45.000000Z", "updated_at": "2025-06-22T16:45:45.000000Z", "deleted_at": null, "unit_formatted": "Adet", "unit_price_formatted": "₺100,00", "total_price_formatted": "₺110,00" } ] }
Ürün Oluşturma
Firmaya yeni bir ürün ekler.
URL Parametreleri
Parametre | Tip | Zorunlu | Açıklama |
---|---|---|---|
company_id | integer | Evet | Firma ID |
Header Bilgileri
Authorization: Bearer your_access_token
Body Parametreleri
Parametre | Tip | Zorunlu | Açıklama |
---|---|---|---|
code | string | Evet | Ürün kodu |
name | string | Evet | Ürün adı |
unit | string | Evet | Birim kodu |
quantity | number | Hayır (Default: 1) | Ürün Adeti |
unit_price | number | Evet | Birim fiyat |
vat_rate | integer | Evet | KDV oranı |
Örnek İstek
{ "code": "PRD-001", "name": "Tükenmez Kalem", "unit": "C62", "quantity": 1, "unit_price": 12.5, "vat_rate": 20 }
Örnek Yanıt (200 OK)
{ "status": "success", "code": 200, "message": "Ürün başarıyla oluşturuldu.", "data": { "code": "PRD-003", "name": "Tükenmez Kalem", "unit": "C62", "quantity": 1, "unit_price": 12.5, "vat_rate": 20, "tenant_id": 1, "user_id": 1, "total_price": 15, "updated_at": "2025-06-27T18:44:42.000000Z", "created_at": "2025-06-27T18:44:42.000000Z", "id": 38, "unit_formatted": "Adet", "unit_price_formatted": "₺12,50", "total_price_formatted": "₺15,00" } }
Ürün Güncelleme
Mevcut bir ürünün bilgilerini günceller.
URL Parametreleri
Parametre | Tip | Zorunlu | Açıklama |
---|---|---|---|
company_id | integer | Evet | Firma ID |
product_id | integer | Evet | Güncellenecek ürün ID |
Header Bilgileri
Authorization: Bearer your_access_token
Body Parametreleri
Parametre | Tip | Zorunlu | Açıklama |
---|---|---|---|
code | string | Hayır | Ürün kodu |
name | string | Hayır | Ürün adı |
unit | string | Hayır | Birim kodu |
quantity | number | Hayır (Default: 1) | Ürün Adeti |
unit_price | number | Hayır | Birim fiyat |
vat_rate | integer | Hayır | KDV oranı |
Örnek İstek
{ "code": "PRD-001", "name": "Tükenmez Kalem", "unit": "C62", "quantity": 1, "unit_price": 12.5, "vat_rate": 20 }
Örnek Yanıt (200 OK)
{ "status": "success", "code": 200, "message": "Ürün güncellendi.", "data": { "id": 33, "tenant_id": 1, "user_id": 1, "code": "PRD-001", "name": "Tükenmez Kalem", "unit": "C62", "quantity": 1, "unit_price": 12.5, "vat_rate": 20, "total_price": 15, "created_at": "2025-06-26T16:24:19.000000Z", "updated_at": "2025-06-26T16:24:19.000000Z", "deleted_at": null, "unit_formatted": "Adet", "unit_price_formatted": "₺12,50", "total_price_formatted": "₺15,00" } }
Ürün Detayı
Belirtilen ürünün detaylı bilgilerini getirir.
URL Parametreleri
Parametre | Tip | Zorunlu | Açıklama |
---|---|---|---|
company_id | integer | Evet | Firma ID |
product_id | integer | Evet | Ürün ID |
Header Bilgileri
Örnek İstek
GET /api/v1/company/1/products/34 Host: earsivportal.com Authorization: Bearer your_access_token
Örnek Yanıt (200 OK)
{ "status": "success", "code": 200, "message": "Ürün detayı listelendi", "data": { /* Ürün nesnesi */ } }
Ürün Silme
Belirtilen ürünü sistemden siler.
URL Parametreleri
Parametre | Tip | Zorunlu | Açıklama |
---|---|---|---|
company_id | integer | Evet | Firma ID |
product_id | integer | Evet | Silinecek ürün ID |
Header Bilgileri
Örnek İstek
DELETE /api/v1/company/1/products/33 Host: earsivportal.com Authorization: Bearer your_access_token
Örnek Yanıt (200 OK)
{ "status": "success", "code": 200, "message": "Ürün silindi." }
Fatura İşlemleri
Faturaları Listeleme
Belirtilen firmaya (company_id) ait tüm e-Arşiv faturaları listeler. Son oluşturulanlar en üstte olacak şekilde sıralanır.
URL Parametreleri
Parametre | Tip | Zorunlu | Açıklama |
---|---|---|---|
company_id | integer | Evet | Firma ID bilgisi |
Header Bilgileri
Örnek İstek
GET /api/v1/company/1/invoices Host: earsivportal.com Authorization: Bearer your_access_token
Örnek Yanıt (200 OK)
{ "status": "success", "code": 200, "message": "Faturalar listelendi", "data": [ { "id": 1, "invoice_number": "384367623", "ettn": "91da6472-d4d8-40af-aa02-5021a4e2f679", "document_number": "GIB2025000000001", "issue_date": "2025-04-27T00:00:00.000000Z", "issue_time": "09:42:39", "invoice_type": "SATIS", "currency": "TRY", "total_amount": 1758.9, "invoice_title": "İskonto", "country": "Türkiye", "title": "Aysu Eğilmez", "product_invoices": [ { "name": "Golden Goose Luxury Sneaker...", "quantity": 1, "unit": "C62", "price": 1617.27, "vat_rate": 10, "grand_total": 1683.3 }, { "name": "Kargo Bedeli", "quantity": 1, "unit": "C62", "price": 66.58, "vat_rate": 20, "grand_total": 75.6 } ] } ] }
Not: Dönüş verisi içinde fatura kalemleri (product_invoices
) de yer
alır. Bu alan her fatura için detaylı ürün listesi içerir.
Fatura Oluşturma
Belirtilen firmaya (company_id) ait yeni bir e-Arşiv faturası oluşturur. Fatura, taslak (draft) olarak sistemde kayıt edilir. Bu endpoint üzerinden KDV, iskonto ve tevkifat gibi işlemler desteklenmektedir.
URL Parametreleri
Parametre | Tip | Zorunlu | Açıklama |
---|---|---|---|
company_id | integer | Evet | Firma ID bilgisi |
Header Bilgileri
Authorization: Bearer your_access_token
Örnek İstek
POST /api/v1/company/1/invoices Host: earsivportal.com Content-Type: application/json Authorization: Bearer your_access_token { "identity_number": 12345678901, "tax_office": "Ataşehir", "title": "Şirket360 Teknoloji Limited Şirketi", "first_name": "", "last_name": "", "invoice_address": "İstanbul, Türkiye", "country": "Turkey", "email": "timur@example.com", "phone": "+905555555555", "invoice_title": "Satış Faturası", "invoice_type": "TEVKIFAT", "issue_date": "2025-06-26", "issue_time": "14:00", "delivery_date": "2025-06-27", "delivery_note_number": "DN-123456", "currency": "TRY", "exchange_rate": 1.0, "products": [ { "name": "Yazılım Danışmanlığı", "quantity": 2, "unit": "C62", "price": 1000.0, "vat_rate": 20, "additional_taxes": [ { "tax_code": "V9015", // Bu bir tevkifat "presentation_code": "603", // Tevkifat kodu "presentation_rate": 70 // Tevkifat oranı } ] }, { "name": "Bakım Hizmeti", "quantity": 1, "unit": "C62", "price": 1500.0, "discount_rate": 0, "vat_rate": 10, "additional_taxes": [ { "tax_code": "V0071", // Bu bir ek vergi "tax_rate": 5 // Vergi oranı } ] }, { "name": "Eğitim Hizmeti", "quantity": 3, "unit": "C62", "price": 750.0, "vat_rate": 10 // Hiç additional_taxes girilmedi — geçerli } ] }
Örnek Yanıt (200 OK)
{ "status": "success", "code": 200, "message": "Fatura oluşturuldu.", "data": { "id": 5, "invoice_number": "TR-0005", "document_number": "GIB2025000000030", "issue_date": "2025-06-26", "invoice_type": "SATIS", "invoice_title": "Yeni Başlık", "currency": "TRY", "identity_number": "111111114", "country": "Turkey", "invoice_address": "Test adres", "product_invoices": [ { "name": "Yeni Ürün", "quantity": 2, "unit": "C62", "price": 100, "vat_rate": 18, "discount_price": 0, "grand_total": 236 } ] } }
Not: Ürün kalemlerinde tevkifatlı vergi uygulanacaksa, additional_taxes
alanı
mutlaka doldurulmalıdır. Fatura tipi olarak TEVKIFAT
seçilmesi gereklidir. Tevkifat
oranları
presentation_rate
alanıyla belirlenir.
Fatura Detayını Getirme
Belirtilen firmaya (company_id) ve fatura ID’sine (invoice_id) ait e-Arşiv fatura detaylarını getirir. Dönüş verisinde fatura bilgileri, ürün kalemleri ve varsa ek vergiler detaylı şekilde bulunur.
URL Parametreleri
Parametre | Tip | Zorunlu | Açıklama |
---|---|---|---|
company_id | integer | Evet | Firma ID bilgisi |
invoice_id | integer | Evet | Detayı alınacak fatura ID'si |
Header Bilgileri
Örnek İstek
GET /api/v1/company/1/invoices/1 Host: earsivportal.com Authorization: Bearer your_access_token
Örnek Yanıt (200 OK)
{ "status": "success", "code": 200, "message": "Fatura detayı listelendi", "data": { "id": 1, "invoice_number": "384367623", "ettn": "91da6472-d4d8-40af-aa02-5021a4e2f679", "document_number": "GIB2025000000001", "issue_date": "2025-04-27T00:00:00.000000Z", "issue_time": "09:42:39", "invoice_type": "SATIS", "currency": "TRY", "total_amount": 1758.9, "invoice_title": "İskonto", "identity_number": "11111111111", "first_name": "Aysu", "last_name": "Eğilmez", "invoice_address": "Kurtuluş mah. Şükrü torun sk no:28", "note": "...", "created_at": "2025-06-22T16:44:22.000000Z", "updated_at": "2025-06-22T16:44:22.000000Z", "product_invoices": [ { "name": "Golden Goose Luxury Sneaker...", "quantity": 1, "unit": "C62", "price": 1617.27, "vat_rate": 10, "sub_total": 1530.27, "vat_total": 153.03, "grand_total": 1683.3 }, { "name": "Kargo Bedeli", "quantity": 1, "unit": "C62", "price": 66.58, "vat_rate": 20, "sub_total": 63, "vat_total": 12.6, "grand_total": 75.6 } ] } }
Not: Eğer belirtilen invoice_id
kayıtlı değilse 404 Not
Found
hatası döner. Ürün satırları product_invoices
alanı içinde gelir. Her
ürün kaleminde KDV ve toplam hesapları ayrı ayrı gösterilir.
Fatura Güncelleme
Belirtilen firmaya (company_id
) ve fatura ID'sine (invoice_id
) ait faturayı
günceller. Bu endpoint ile fatura bilgileri ve fatura kalemleri düzenlenebilir. Fatura düzenleme
işlemi sadece taslak (draft
) durumundaki faturalar için geçerlidir.
URL Parametreleri
Parametre | Tip | Zorunlu | Açıklama |
---|---|---|---|
company_id | integer | Evet | Firma ID bilgisi |
invoice_id | integer | Evet | Düzenlenecek fatura ID bilgisi |
Header Bilgileri
Content-Type: application/json
Örnek İstek
PUT /api/v1/company/1/invoices/5 Host: earsivportal.com Authorization: Bearer your_access_token Content-Type: application/json { "invoice_title": "Yeni Başlık", "identity_number": "111111114", "tax_office": "Ataşehir", "country": "Turkey", "invoice_address": "Test adres", "invoice_type": "SATIS", "currency": "TRY", "issue_date": "2025-06-26", "issue_time": "12:00", "product_invoices": [ { "name": "Yeni Ürün", "quantity": 2, "unit": "C62", "price": 100, "vat_rate": 18, "discount_rate": 0, "discount_price": 0, "additional_taxes": [] } ] }
Örnek Yanıt (200 OK)
{ "status": "success", "code": 200, "message": "Fatura güncellendi.", "data": { "id": 5, "invoice_number": "TR-0005", "document_number": "GIB2025000000030", "issue_date": "2025-06-26", "invoice_type": "SATIS", "invoice_title": "Yeni Başlık", "currency": "TRY", "identity_number": "111111114", "country": "Turkey", "invoice_address": "Test adres", "product_invoices": [ { "name": "Yeni Ürün", "quantity": 2, "unit": "C62", "price": 100, "vat_rate": 18, "discount_price": 0, "grand_total": 236 } ] } }
Not: Eğer fatura draft
durumunda değilse, güncelleme işlemi yapılamaz
ve 400 Bad Request
hatası döner.
Fatura Silme
Belirtilen firmaya (company_id
) ve fatura ID'sine (invoice_id
) ait faturayı
kalıcı olarak siler. Bu işlem geri alınamaz. Silme gerekçesi body içinde belirtilmelidir.
URL Parametreleri
Parametre | Tip | Zorunlu | Açıklama |
---|---|---|---|
company_id | integer | Evet | Firma ID bilgisi |
invoice_id | integer | Evet | Silinecek fatura ID bilgisi |
Header Bilgileri
Content-Type: application/json
Body Parametreleri
Alan | Tip | Zorunlu | Açıklama |
---|---|---|---|
reason | string | Evet | Fatura silme gerekçesi |
Örnek İstek
DELETE /api/v1/company/1/invoices/8 Host: earsivportal.com Authorization: Bearer your_access_token Content-Type: application/json { "reason": "test amaçlıdır" }
Örnek Yanıt (200 OK)
{ "status": "success", "code": 200, "message": "Fatura kalıcı olarak silindi" }
Not: Sadece taslak (draft)
durumundaki faturalar silinebilir. GİB’e
gönderilmiş faturalar silinemez.
Fatura İmzalama
Fatura imzalama işlemi iki aşamalıdır:
send_sms
adımında kullanıcıya SMS gönderilir,
verify_sms
adımında SMS doğrulama yapılır.
Doğrulama başarılı olursa fatura imzalanır ve GİB sistemine gönderilir.
URL Parametreleri
Parametre | Tip | Zorunlu | Açıklama |
---|---|---|---|
company_id | integer | Evet | Firma ID bilgisi |
invoice_id | integer | Evet | İmzalanacak fatura ID bilgisi |
Header Bilgileri
Content-Type: application/json
Body Parametreleri
Alan | Tip | Zorunlu | Açıklama |
---|---|---|---|
step | string | Evet | send_sms veya verify_sms olarak gönderilmelidir. |
token | string | Hayır (send_sms için) | send_sms yanıtında dönen token, verify_sms adımında
gönderilmelidir. |
sms_code | string | Hayır (send_sms için) | Kullanıcının telefonuna gelen doğrulama kodu. verify_sms adımında zorunludur.
|
1. Aşama: SMS Gönderimi
POST /api/v1/company/1/invoices/8/sign Host: earsivportal.com Authorization: Bearer your_access_token Content-Type: application/json { "step": "send_sms" }
Yanıt (200 OK)
{ "status": "success", "code": 200, "message": "SMS başarıyla gönderildi", "data": { "token": "wK8nP7..." } }
2. Aşama: SMS Doğrulama
POST /api/v1/company/1/invoices/8/sign Host: earsivportal.com Authorization: Bearer your_access_token Content-Type: application/json { "step": "verify_sms", "token": "wK8nP7...", // SMS gönderiminden dönen token "sms_code": "123456" // Kullanıcının telefonuna gelen kod }
Yanıt (200 OK)
{ "status": "success", "code": 200, "message": "Fatura başarıyla imzalandı ve gönderildi" }
Not: Bu işlem sadece taslak (draft)
durumundaki faturalar için
geçerlidir.
Fatura İtiraz Talebi Oluşturma
Bir faturaya itiraz etmek için bu endpoint kullanılır. İtiraz bilgileri GİB sistemine iletilir ve ilgili fatura itiraz edilmiş olarak işaretlenir.
URL Parametreleri
Parametre | Tip | Zorunlu | Açıklama |
---|---|---|---|
company_id | integer | Evet | Firma ID bilgisi |
invoice_id | integer | Evet | İtiraz edilecek fatura ID bilgisi |
Header Bilgileri
Content-Type: application/json
Body Parametreleri
Alan | Tip | Zorunlu | Açıklama |
---|---|---|---|
document_number | string | Evet | İtiraz belgesinin numarası |
document_date | string (YYYY-MM-DD) | Evet | İtiraz belgesinin tarihi |
method | string | Evet | İtiraz yöntemi. Kabul edilen değerler: NOTER , TAAHHUTLU_MEKTUP ,
TELGRAF , KEP
|
description | string | Evet | İtirazın açıklaması |
Örnek İstek
POST /api/v1/company/1/invoices/8/objection Host: earsivportal.com Authorization: Bearer your_access_token Content-Type: application/json { "document_number": "123456", "document_date": "2025-06-27", "method": "NOTER", "description": "Faturadaki ürün miktarı hatalıdır." }
Yanıt (200 OK)
{ "status": "success", "code": 200, "message": "İtiraz talebi başarıyla oluşturuldu" }
Not: Yalnızca durumu approved
olan faturalar için itiraz yapılabilir.
Fatura İptal Etme
Oluşturulmuş ve onaylanmış bir faturayı iptal etmek için kullanılır. Gerekçeyle birlikte GİB
sistemine bildirim yapılır ve fatura durumu cancelled
olarak güncellenir.
URL Parametreleri
Parametre | Tip | Zorunlu | Açıklama |
---|---|---|---|
company_id | integer | Evet | Firma ID bilgisi |
invoice_id | integer | Evet | İptal edilecek fatura ID bilgisi |
Header Bilgileri
Content-Type: application/json
Body Parametreleri
Alan | Tip | Zorunlu | Açıklama |
---|---|---|---|
reason | string | Evet | Faturanın iptal edilme gerekçesi |
Örnek İstek
POST /api/v1/company/1/invoices/8/cancel Host: earsivportal.com Authorization: Bearer your_access_token Content-Type: application/json { "reason": "Müşteri hatası nedeniyle fatura iptal edilmiştir." }
Yanıt (200 OK)
{ "status": "success", "code": 200, "message": "Fatura iptal edildi" }
Not: Yalnızca approved
durumundaki faturalar iptal edilebilir. İptal
işlemi geri alınamaz.
Fatura PDF Çıktısını Alma
Belirtilen faturaya ait PDF çıktısını döner. Yanıt doğrudan application/pdf
içeriğiyle
gelir. Tarayıcıda gösterilebilir ya da indirilebilir şekilde kullanılabilir.
URL Parametreleri
Parametre | Tip | Zorunlu | Açıklama |
---|---|---|---|
company_id | integer | Evet | Firma ID bilgisi |
invoice_id | integer | Evet | PDF çıktısı alınacak fatura ID bilgisi |
Header Bilgileri
Örnek İstek
GET /api/v1/company/1/invoices/8/pdf Host: earsivportal.com Authorization: Bearer your_access_token
Yanıt
Yanıt doğrudan PDF çıktısıdır. Content-Type: application/pdf
ile gelir. Tarayıcıda yeni
sekmede gösterilebilir ya da dosya olarak indirilebilir.
Yardımcı Fonksiyonlar
Fatura oluşturma işlemi sırasında sistemde kullanılan bazı sabit veriler (ülkeler, para birimleri, birimler, KDV oranları vs.) aşağıdaki yardımcı endpointler ile alınabilir. Bu endpointler frontend form doldurma, seçim listeleri oluşturma ve validasyon destekli arayüz geliştirme süreçlerinde kullanılmak üzere tasarlanmıştır.
Ülke Listesi
Fatura formu için desteklenen ülkelerin listesini döner. Bu endpoint, fatura adresi kısmında ülke seçimi için kullanılır.
URL Parametreleri
Parametre | Tip | Zorunlu | Açıklama |
---|---|---|---|
company_id | integer | Evet | Şirket ID |
Header Bilgileri
Örnek İstek
GET /api/v1/company/1/helpers/countries Host: earsivportal.com Authorization: Bearer your_access_token
Örnek Yanıt (200 OK)
{ "status": "success", "code": 200, "message": "Ülkeler listelendi", "data": [ { "name": "Turkey", "value": "Türkiye" }, { "name": "Germany", "value": "Almanya" }, { "name": "United States", "value": "Amerika Birleşik Dev" }, ... ] }
Not: `name` alanı İngilizce ülke adını, `value` ise Türkçe karşılığını içerir. Form seçimlerinde Türkçe `value` gösterilmesi önerilir.
Birim Listesi
Fatura ürünlerinde kullanılabilecek tüm geçerli birimleri döner. Bu birimler ürün oluşturma veya fatura kalemi tanımlama ekranlarında kullanıcıya seçim sunmak için kullanılır.
URL Parametreleri
Parametre | Tip | Zorunlu | Açıklama |
---|---|---|---|
company_id | integer | Evet | Şirket ID bilgisi |
Header Bilgileri
Örnek İstek
GET /api/v1/company/1/helpers/units Host: earsivportal.com Authorization: Bearer your_access_token
Örnek Yanıt (200 OK)
{ "status": "success", "code": 200, "message": "Birimler listelendi", "data": [ { "name": "C62", "value": "Adet" }, { "name": "PA", "value": "Paket" }, { "name": "LTR", "value": "lt" }, { "name": "KGM", "value": "kg" }, ... ] }
Not: `name` alanı sistemsel birim kodunu, `value` ise kullanıcıya gösterilecek birim adını içerir. Bu veriler stok sistemleri veya ürün katalogları ile uyumlu çalışacak şekilde hazırlanmıştır.
KDV Oranları
Sistemde tanımlı olan geçerli KDV oranlarını listeler. Bu oranlar fatura oluştururken ürün kalemlerine uygulanabilir.
URL Parametreleri
Parametre | Tip | Zorunlu | Açıklama |
---|---|---|---|
company_id | integer | Evet | Şirket ID bilgisi |
Header Bilgileri
Örnek İstek
GET /api/v1/company/1/helpers/vat-rates Host: earsivportal.com Authorization: Bearer your_access_token
Örnek Yanıt (200 OK)
{ "status": "success", "code": 200, "message": "KDV oranları listelendi", "data": [ { "name": 0, "value": "0%" }, { "name": 1, "value": "1%" }, { "name": 8, "value": "8%" }, { "name": 10, "value": "10%" }, { "name": 18, "value": "18%" }, { "name": 20, "value": "20%" } ] }
Not: `name` alanı sayısal oran değerini (vergi oranı), `value` alanı ise kullanıcıya gösterilecek biçimlendirilmiş hali temsil eder. Ürün kaleminde `vat_rate` alanı ile bu değer kullanılabilir.
Ek Vergi Listesi
Fatura ürünlerinde kullanılabilecek ek vergi türlerini listeler. Tevkifat, ÖTV ve diğer tüm ek vergiler bu endpoint ile alınabilir.
Not: Eğer TEVKIFAT
tipi bir fatura oluşturmak istiyorsanız, ürünlere
KDV TEVKİFAT
(kod: V9015
) uygulanmalıdır.
URL Parametreleri
Parametre | Tip | Zorunlu | Açıklama |
---|---|---|---|
company_id | integer | Evet | Şirket ID bilgisi |
Header Bilgileri
Örnek İstek
GET /api/v1/company/1/helpers/additional-taxes Host: earsivportal.com Authorization: Bearer your_access_token
Örnek Yanıt (200 OK)
{ "status": "success", "code": 200, "message": "Ek vergiler listelendi", "data": [ { "name": "V0021", "value": "BANKA MUAMELELERİ VER." }, { "name": "V0061", "value": "KKDF KESİNTİ" }, { "name": "V0071", "value": "ÖTV 1. LİSTE" }, { "name": "V9077", "value": "ÖTV 2. LİSTE" }, { "name": "V9015", "value": "KDV TEVKİFAT" }, ... ] }
Not: `name` alanı sistemsel vergi kodunu, `value` ise Türkçe vergi adını içerir.
V9015
kodlu "KDV TEVKİFAT" seçimi yapıldığında, fatura türü mutlaka
TEVKIFAT
olmalıdır.
Tevkifat Türleri
Tevkifat tipi fatura oluştururken kullanılabilecek sunum (presentation) kodlarını listeler. Bu
değerler, ek vergi
olarak KDV TEVKİFAT
(V9015
) seçildiğinde zorunlu hale gelir ve ilgili ürün
satırında
presentation_code
ile kullanılmalıdır.
URL Parametreleri
Parametre | Tip | Zorunlu | Açıklama |
---|---|---|---|
company_id | integer | Evet | Şirket ID bilgisi |
Header Bilgileri
Örnek İstek
GET /api/v1/company/1/helpers/presentations Host: earsivportal.com Authorization: Bearer your_access_token
Örnek Yanıt (200 OK)
{ "status": "success", "code": 200, "message": "Tevkifat türleri listelendi", "data": [ { "name": 601, "value": "%40 - Yapım işleri ve mühendislik hizmetleri", "rate": 40 }, { "name": 603, "value": "%70 - Makine, teçhizat, demirbaş ve taşıtlara ait tadilat, bakım, onarım", "rate": 70 }, { "name": 606, "value": "%90 - İş gücü temin hizmeti", "rate": 90 }, { "name": 650, "value": "%0 - Diğer işlemler", "rate": 0 } ... ] }
Not: name
alanı, fatura gönderiminde kullanılacak
presentation_code
değeridir. value
açıklama metnini içerir. rate
ise yüzdelik tevkifat
oranıdır. Bu bilgiler yalnızca
V9015 - KDV TEVKİFAT
koduyla birlikte kullanılmalıdır.
Para Birimleri
Fatura oluşturulurken kullanılabilecek para birimlerinin listesini döner. Sistem çoklu döviz desteği sağlar. Bu endpoint, fatura formu veya döviz kuru hesaplama işlemlerinde kullanılabilir.
URL Parametreleri
Parametre | Tip | Zorunlu | Açıklama |
---|---|---|---|
company_id | integer | Evet | Şirket ID bilgisi |
Header Bilgileri
Örnek İstek
GET /api/v1/company/1/helpers/currencies Host: earsivportal.com Authorization: Bearer your_access_token
Örnek Yanıt (200 OK)
{ "status": "success", "code": 200, "message": "Para birimleri listelendi", "data": [ { "name": "USD", "value": "US Dollar" }, { "name": "EUR", "value": "Euro" }, { "name": "TRY", "value": "Türk Lirası" }, { "name": "GBP", "value": "Pound Sterling" }, { "name": "JPY", "value": "Yen" }, ... ] }
Not: name
alanı döviz kodunu (ISO 4217 standardı), value
alanı ise para biriminin tam adını temsil eder. Fatura oluştururken currency
alanına
USD
, TRY
gibi değerler gönderilmelidir.
Fatura Türleri
Sistem tarafından desteklenen tüm fatura türlerini listeler. Bu değerler fatura oluştururken
invoice_type
alanında kullanılmalıdır. Her fatura türü farklı kurallara ve
hesaplamalara tabidir.
URL Parametreleri
Parametre | Tip | Zorunlu | Açıklama |
---|---|---|---|
company_id | integer | Evet | Şirket ID bilgisi |
Header Bilgileri
Örnek İstek
GET /api/v1/company/1/helpers/invoice-types Host: earsivportal.com Authorization: Bearer your_access_token
Örnek Yanıt (200 OK)
{ "status": "success", "code": 200, "message": "Fatura türleri listelendi", "data": [ { "name": "SATIS", "value": "SATIŞ" }, { "name": "IADE", "value": "GENEL İADE" }, { "name": "TEVKIFAT", "value": "TEVKİFAT" }, { "name": "TEVKIFATIADE", "value": "TEVKİFAT İADE" }, { "name": "ISTISNA", "value": "İSTİSNA" }, { "name": "OZELMATRAH", "value": "ÖZEL MATRAH" }, { "name": "IHRACKAYITLI", "value": "İHRAÇ KAYITLI" }, { "name": "KONAKLAMAVERGISI", "value": "KONAKLAMA VERGİSİ" } ] }
Not: name
alanı sistemde gönderilecek fatura tipidir.
value
alanı ise Türkçe açıklamasıdır. Tevkifatlı fatura oluşturmak için
invoice_type = "TEVKIFAT"
seçilmelidir.
Birim Tipleri
Bu endpoint, sistemde kullanılabilecek tüm birim tiplerini listeler. Fatura ürünleri eklenirken
unit
alanı bu listeden seçilmelidir.
URL Parametreleri
Parametre | Tip | Zorunlu | Açıklama |
---|---|---|---|
company_id | integer | Evet | Şirket ID bilgisi |
Header Bilgileri
Örnek İstek
GET /api/v1/company/1/helpers/unit-types Host: earsivportal.com Authorization: Bearer your_access_token
Örnek Yanıt (200 OK)
{ "status": "success", "code": 200, "message": "Birimler listelendi", "data": [ { "name": "DAY", "value": "Gün" }, { "name": "MON", "value": "Ay" }, { "name": "ANN", "value": "Yıl" }, { "name": "HUR", "value": "Saat" }, { "name": "D61", "value": "Dakika" }, { "name": "C62", "value": "Adet" }, { "name": "PA", "value": "Paket" }, ... { "name": "HAR", "value": "Hektar (ha)" }, { "name": "LM", "value": "Metretül (LM)" } ] }
Not: Bu birimler, fatura ürünlerinin tanımında unit
alanında
gönderilmelidir. Örneğin: "unit": "C62"
→ "Adet"
Postman API Collection
Tüm e-Arşiv Portal API uç noktalarını içeren hazır Postman Collection dosyasını aşağıdan indirebilirsiniz.
Hata Kodları
Kod | Açıklama |
---|---|
400 | Geçersiz istek parametreleri |
401 | Kimlik doğrulama hatası |
403 | Yetkisiz erişim |
404 | Kayıt bulunamadı |
429 | Çok fazla istek |
200 | Başarılı |
500 | Sunucu hatası |
Entegrasyon Modülleri
Şirket360 API'si ile entegre olabileceğiniz hazır modüller: