e-Fatura/e-Arşiv Rest Api Geliştirici Kılavuzu (1.1)

Download OpenAPI specification:Download

Turkcell e-Şirket e-Fatura/e-Arşiv API uç noktaları REST olarak geliştirilmiştir. API kullanımı ve entegrasyon süreçlerinize başlamadan önce mutlaka entegrasyon@eplatform.com.tr adresinden bizim ile iletişime geçmelisiniz. Turkcell e-Şirket bünyesinde yer alan diğer uygulamaların dokümantasyonlarına https://developer.turkcellesirket.com adresinden ulaşabilirsiniz. Servis uç noktalarımız authentication mekanizması olarak OAuth 2.0 kullanmaktadır.

Canlı ortamı Auth servis adresi; https://core.turkcellesirket.com/v1/token

Test ortamı Auth servis adresi; https://coretest.isim360.com/v1/token

Entegrasyon çalışmalarında yaptığınız işlemlerin sonuçlarını, test portalimizi kullanarak gözlemleyebilirsiniz.

Test arayüz adresi; https://maintest.isim360.com/

       Örnek token isteği
{
-X POST https://core.turkcellesirket.com/v1/token / 
 -H 'Cache-Control: no-cache' / 
 -H 'Content-Type: application/x-www-form-urlencoded' / 
 -d 'username=yourUserName&password=yourPassword&client_id=serviceApi' 
 }

Daha hızlı ve güvenli bir entegrasyon yapabilmeniz için e-Fatura ve e-Arşiv Fatura servis uç noklarını nuget paket haline getirdik, .NET 4.6.2 ve üzerindeki versiyonlarda çalışabilen bu paketi https://www.nuget.org/packages/ePlatform.eBelge.Api.Client/1.0.0 adresinden indirebilirsiniz.

C# ile geliştirilmiş, basit seviyede örnek kodlar içeren projemize https://github.com/eplatform/eplatform-api-dotnet-client adresinden ulaşabilirsiniz.

Giden e-Fatura/e-Arşiv

Giden e-Fatura ve e-Arşiv Fatura gönderim ve sorgulama için, ortak olan servis uç noktalarını içerir. Ek olarak e-Arşiv Fatura fonksiyonları için e-Arşiv bölümüne bakınız.

Post

Yeni e-Arşiv ve e-Fatura kayıt etmek için kullanılır.

UBL oluşturmak istemeyen, Turkcell e-Şirket fatura oluşturma arayüzlerininde kullandığı, JSON model vasıtasıyla fatura oluşturmak isteyenler için sunulan fatura oluşturma uç noktasıdır.

Request Body schema: application/json
recordType
required
int
Enum: "0 : e-Arşiv" "1 : e-Fatura"

Fatura kayıt türünü belirtir. e-Arşiv fatura oluşturmak istiyorsanız 0, e-Fatura oluşturmak istiyorsanız 1 olarak göndermelisiniz.

status
int
Enum: "Taslak : 0" "Kaydet ve Gönder : 20"

Faturanın durumunu belirtir. Oluşturacağınız faturayı taslak halinde kayıt etmek için 0, kaydedildiği anda, otomatik gönderilmesini istiyorsanız 20 olarak ayarlamanız gerekmektedir. Herhangi bir değer göndermezseniz faturanız 0 (Taslak) olarak kaydedilir.

localReferenceId
string

Muhasebe/ERP sisteminizde yer alan identifier numarayı bu alanda gönderebilir ve bu alan vasıtasıtasıyla Muhasebe / ERP uygulamanızdaki kayıt ile faturanızı eşleştirebilirsiniz.

useManualInvoiceId
bool

16 haneli fatura numarası, sizin tarafınızdan verilecek ise 'true' olarak gönderilmelidir, sizin göndermiş olduğunuz fatura numarası sistem tarafından takip edilmemektedir, bu yüzden göndermeniz durumlarda, sistem kendisinde bulunan sıradaki fatura numarasını verecektir.. Örnek fatura numarası: EPA2019000001220. 'false' olduğu durumda, sistem tarafından varsayılan seriden bir sonraki numara otomatik verilir.

xsltCode
string

Sizin için özel oluşturulmış fatura görünümünü var ise, bu fatura görünümünü kullanmak için, size verilen xsltCode bilgisini bu alan ile göndermelisiniz. Eğer boş gönderirseniz standart fatura görünümü ile faturanız kaydedilir. Özel oluşturulan fatura görünümünü destek ekibimiz sisteme yüklemektedir.

note
string

Faturanıza not girmek istediğiniz durumlarda bu alanı kullanabilirsiniz.

notes
Array of objects

Fatura içerisinde liste şeklinde not girmek istediğiniz durumlarda bu alanı kullanabilirsiniz.

addressBook
required
object

Faturaya ait alıcı bilgilerin bulunduğu alandır.

generalInfoModel
object

Faturaya ait genel bilgilerin bulunduğu alandır.

invoiceLines
Array of objects (invoiceLines)

Fatura içerisindeki mail veya hizmetler alanıdır. Bir veya birden fazla kalem olacak şekilde girilebilir.

relatedDespatchList
Array of objects (relatedDespatchList)

Fatura irsaliye eklenmek istendiğinde bu alan doldurulmalı. Bir veya birden fazla kalem olacak şekilde girilebilir.

ublSettingsModel
object

Fatura KDV bilgisinin hesaplanması ile ilgili seçim alanıdır.

paymentMeansModel
object

Bu elemana ödeme şekli ile ilgili bilgiler yazılabilecektir.

paymentTermsModel
object

Bu elemana ödeme koşulları ve ödemenin yapılmaması halinde uygulanacak müeyyideler yazılabilecektir.

orderInfoModel
object
archiveInfoModel
object

AppType e-Arşiv olmasi durumunda gereklidir.

eArsivInfo
object

AppType e-Arşiv olmasi durumunda mail gönderimi için doldurulması gereken alanlar.

additionalInvoiceTypeInfo
object

İlave fatura bilgileri.

buyerCustomerInfoModel
object

Yolcu beraber / ihracat fatura senaryosunda 'Malı Alan Kişi/Kurum Bilgileri' alanıdır.

taxRepresentativePartyInfoModel
object

Yolcu beraber fatura senaryosunda doldurulması gereken kısımdır.

Responses

200
400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

422

Unprocessable entity

post /outboxinvoice/create

Production

https://efaturaservice.turkcellesirket.com/v1/outboxinvoice/create

Test

https://efaturaservicetest.isim360.com/v1/outboxinvoice/create

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "recordType": 1,
  • "status": 20,
  • "localReferenceId": "string",
  • "useManualInvoiceId": null,
  • "xsltCode": null,
  • "note": "string",
  • "notes":
    [
    ],
  • "addressBook":
    {
    },
  • "generalInfoModel":
    {
    },
  • "invoiceLines":
    [
    ],
  • "relatedDespatchList":
    [
    ],
  • "ublSettingsModel":
    {
    },
  • "paymentMeansModel":
    {
    },
  • "paymentTermsModel":
    {
    },
  • "orderInfoModel":
    {
    },
  • "archiveInfoModel":
    {
    },
  • "eArsivInfo":
    {
    },
  • "additionalInvoiceTypeInfo":
    {
    },
  • "buyerCustomerInfoModel":
    {
    },
  • "taxRepresentativePartyInfoModel":
    {
    }
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "Id": "string",
  • "InvoiceNumber": "string"
}

Put

Fatura güncelleme methotudur. Turkcell e-Şirket fatura güncelleme arayününde kullandığı uç noktasıdır.

path Parameters
id
Guid

Erişilmek istenen kaynağın unique id'si (ETTN)

Request Body schema: application/json
recordType
required
int
Enum: "0 : e-Arşiv" "1 : e-Fatura"

Fatura kayıt türünü belirtir. e-Arşiv fatura oluşturmak istiyorsanız 0, e-Fatura oluşturmak istiyorsanız 1 olarak göndermelisiniz.

status
int
Enum: "Taslak : 0" "Kaydet ve Gönder : 20"

Faturanın durumunu belirtir. Oluşturacağınız faturayı taslak halinde kayıt etmek için 0, kaydedildiği anda, otomatik gönderilmesini istiyorsanız 20 olarak ayarlamanız gerekmektedir. Herhangi bir değer göndermezseniz faturanız 0 (Taslak) olarak kaydedilir.

localReferenceId
string

Muhasebe/ERP sisteminizde yer alan identifier numarayı bu alanda gönderebilir ve bu alan vasıtasıtasıyla Muhasebe / ERP uygulamanızdaki kayıt ile faturanızı eşleştirebilirsiniz.

useManualInvoiceId
bool

16 haneli fatura numarası, sizin tarafınızdan verilecek ise 'true' olarak gönderilmelidir, sizin göndermiş olduğunuz fatura numarası sistem tarafından takip edilmemektedir, bu yüzden göndermeniz durumlarda, sistem kendisinde bulunan sıradaki fatura numarasını verecektir.. Örnek fatura numarası: EPA2019000001220. 'false' olduğu durumda, sistem tarafından varsayılan seriden bir sonraki numara otomatik verilir.

xsltCode
string

Sizin için özel oluşturulmış fatura görünümünü var ise, bu fatura görünümünü kullanmak için, size verilen xsltCode bilgisini bu alan ile göndermelisiniz. Eğer boş gönderirseniz standart fatura görünümü ile faturanız kaydedilir. Özel oluşturulan fatura görünümünü destek ekibimiz sisteme yüklemektedir.

note
string

Faturanıza not girmek istediğiniz durumlarda bu alanı kullanabilirsiniz.

notes
Array of objects

Fatura içerisinde liste şeklinde not girmek istediğiniz durumlarda bu alanı kullanabilirsiniz.

addressBook
required
object

Faturaya ait alıcı bilgilerin bulunduğu alandır.

generalInfoModel
object

Faturaya ait genel bilgilerin bulunduğu alandır.

invoiceLines
Array of objects (invoiceLines)

Fatura içerisindeki mail veya hizmetler alanıdır. Bir veya birden fazla kalem olacak şekilde girilebilir.

relatedDespatchList
Array of objects (relatedDespatchList)

Fatura irsaliye eklenmek istendiğinde bu alan doldurulmalı. Bir veya birden fazla kalem olacak şekilde girilebilir.

ublSettingsModel
object

Fatura KDV bilgisinin hesaplanması ile ilgili seçim alanıdır.

paymentMeansModel
object

Bu elemana ödeme şekli ile ilgili bilgiler yazılabilecektir.

paymentTermsModel
object

Bu elemana ödeme koşulları ve ödemenin yapılmaması halinde uygulanacak müeyyideler yazılabilecektir.

orderInfoModel
object
archiveInfoModel
object

AppType e-Arşiv olmasi durumunda gereklidir.

eArsivInfo
object

AppType e-Arşiv olmasi durumunda mail gönderimi için doldurulması gereken alanlar.

additionalInvoiceTypeInfo
object

İlave fatura bilgileri.

buyerCustomerInfoModel
object

Yolcu beraber / ihracat fatura senaryosunda 'Malı Alan Kişi/Kurum Bilgileri' alanıdır.

taxRepresentativePartyInfoModel
object

Yolcu beraber fatura senaryosunda doldurulması gereken kısımdır.

Responses

200
400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

422

Unprocessable entity

put /outboxinvoice/update/{id}

Production

https://efaturaservice.turkcellesirket.com/v1/outboxinvoice/update/{id}

Test

https://efaturaservicetest.isim360.com/v1/outboxinvoice/update/{id}

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "recordType": 1,
  • "status": 20,
  • "localReferenceId": "string",
  • "useManualInvoiceId": null,
  • "xsltCode": null,
  • "note": "string",
  • "notes":
    [
    ],
  • "addressBook":
    {
    },
  • "generalInfoModel":
    {
    },
  • "invoiceLines":
    [