> For the complete documentation index, see [llms.txt](https://developer.tokeninc.com/token-developer-portal-1/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://developer.tokeninc.com/token-developer-portal-1/x-platform/z-report-service/gelistirici-dokumani.md).

# Geliştirici Dökümanı

Bu döküman geliştiriciler için Z-Raporu apilerinin kullanımı için genel bir kılavuz niteliğindedir.

Development ortamında ECR üzerinde çalışan servisler için cloud ortamında  <https://test-gmu-report.devtokeninc.com/zreport/web/ecr/api/v1/> base url'i tanımlanmıştır.

Servislerde kullanılan generic response yapısı şu şekildedir:

```json
{
    "status": 0, (int)
    "message": "OK", (String)
    "detail": null (Object)
}
```

**Response payload değişkenleri:**

**status : Cevabın status kodunu belirten integer değerdir. Başarılı durumlar için 0 hata durumları için uygun status kodunu döner.**

**message: Statuse göre dönen string cevap mesajıdır. Başarılı cevaplar için "OK" olarak döner.**

**detail: Servisin dönmesi gereken bir detay bilgisi varsa bu alanda döndürülür. Detail alanı herhangi bir obje tipinde olabilir.**

## **Z Raporu Kontrol Servisleri**

### **Get Report Details**

Path Variable olarak verilen uuid'li raporun detay bilgilerini döner

**Örnek Response Body:**

```json
{
    "status": 0,
    "message": "OK",
    "detail": {
        "dateTime": "1706693610000", (Long-Unix Timestamp in MS)
        "terminalId": "TestUserTerminal", (String)
        "ejNo": 1, (short)
        "zNo": 2, (short)
        "receiptNo": 3, (short)
        "documentNum": 4, // Optional (short)
        "saleReceiptNum": 5, (short)
        "fiscalReceiptNum": 6, (short)
        "cumTotal": 3809, (long)
        "cumTotalVat": 761, (long)
        "macTotal": 3809, //Optional (long) 
        "macTotalVat": 761, //Optional(long)
        "total": 3809, (long)
        "surchargeAmount": 0, // Optional (long)
        "discountQuantity": 2, // Optional (short)
        "discountAmount": 200, // Optional (long)
        "cancelItemQuantity": 1, // Optional (short)
        "cancelItemAmount": 100, // Optional (long)
        "cancelReceiptQuantity": 1, // Optional (short)
        "cancelReceiptAmount": 100, // Optional (long)
        "cancelReportQuantity": 1, // Optional (short)
        "cancelReportAmount": 100, // Optional (long)
        "pharmacyQuantity": 1, // Optional (short)
        "pharmacyAmount": 100, // Optional (long)
        "vats": [ // Optional
            {
               "rate" : 10, (short)
               "total":100, (long)
               "totalVat":10 (long)
            }
        ],
        "sections": [ // Optional
            { 
               "sectionNo":1 ,(short)
               "sectionName":Gıda, (String)
               "quantity":50, (int)
               "vatRate":10, (short)
               "amount" : 1000, (long)
            }
         ],
        "payments": [ // Optional 
           { 
               "quantity" : 1, (short)
               "amount": 100,  (int)
               "type"  : 0 (short)
           }
        ],
    
       "infoReceipts": [
            {
            "quantity": 1000, (short)
            "amount": 25000, (long)
            "type": 9000, (short)
            }
        ],
        "totalVat": 761, (long)
        "cashierRecords": [ // Optional
            {
            "quantity": 15, (short)
            "amount": 15, (long)
            "name": "Kasiyer A" // Optional
            },
            {
            "quantity": 30, (short)
            "amount": 10, (long)
            "name": "Kasiyer B" // Optional
            }
        ] ,  
        "terminalId": "TestUserTerminal",
        "zno": 2
    }
}
```

| İstek Değişkeni       | Tanım                                        | Optional/Zorunlu |
| --------------------- | -------------------------------------------- | ---------------- |
| dateTime              | Rapor tarihi                                 | Zorunlu          |
| terminalId            | Raporun oluşturulduğu cihazın numarası       | Zorunlu          |
| ejNo                  | Ekü numarası                                 | Zorunlu          |
| zNo                   | Z numarası                                   | Zorunlu          |
| receiptNo             | Fiş numarası                                 | Zorunlu          |
| documentNum           | Belge numarası                               | Optional         |
| saleReceiptNum        | Satış fişi numarası                          | Optional         |
| fiscalReceiptNum      | Mali fiş numarası                            | Optional         |
| cumTotal              | Kümülatif toplam değeri                      | Zorunlu          |
| cumTotalVat           | Kümülatif vergi toplamı değeri               | Zorunlu          |
| macTotal              | Kurtarılan KDV Oran Toplamı                  | Optional         |
| macTotalVat           | Kurtarılan vergi miktarı Toplamı             | Optional         |
| surchargeQuantity     | Artırım miktarı                              | Optional         |
| surchargeAmount       | Artırım değeri                               | Optional         |
| discountQuantity      | İndirim miktarı                              | Optional         |
| discountAmount        | İndirim değeri                               | Optional         |
| total                 | Total değer                                  | Zorunlu          |
| cancelItemQuantity    | İptal edilen ürün miktarı                    | Optional         |
| cancelItemAmount      | İptal edilen ürün değeri                     | Optional         |
| cancelReceiptQuantity | İptal fişi miktarı                           | Optional         |
| cancelReceiptAmount   | İptal fişi değeri                            | Optional         |
| cancelReportQuantity  | İptal edilen rapor miktarı                   | Optional         |
| cancelReportAmount    | İptal edilen rapor değeri                    | Optional         |
| pharmacyQuantity      | Eczane katkı payı miktarı                    | Optional         |
| pharmacyAmount        | Eczane katkı payı değeri (Matrah dışı tutar) | Optional         |
| vats                  | kdv oran ve miktarları                       | Optional         |
| sections              | kısım listesi                                | Optional         |
| payments              | [ödeme listesi](#odeme-tipleri)              | Optional         |
| totalVat              | toplam kdv                                   | Zorunlu          |
| cashierRecords        | kasiyer kayıtları                            | Optional         |
| infoReceipts          | bilgi fişleri                                | Optional         |

{% hint style="info" %}
Dönen detay bilgileri z raporu gönderme servisinde gönderilen değişkenlerin aynılarını kapsar. Kaydedilmemiş optional alanlar null olarak döner.
{% endhint %}

{% hint style="info" %}
Tutar değerleri 100 ile çarpılmış, miktar değerleri ise 1000 ile çarpılmış şekilde kaydedilir.
{% endhint %}

<table data-header-hidden><thead><tr><th></th><th width="156"></th></tr></thead><tbody><tr><td><strong>Bilgi Fişi Tipleri</strong></td><td><strong>Kod</strong></td></tr><tr><td>FATURA</td><td>9005</td></tr><tr><td>E-FATURA BİLGİ FİŞİ</td><td>9006</td></tr><tr><td>E-ARŞİV BİLGİ FİŞİ</td><td>9007</td></tr><tr><td>AVANS</td><td>9000</td></tr><tr><td>CARİ TAHSİLAT</td><td>9002</td></tr><tr><td>TAHSİLAT</td><td>9001</td></tr></tbody></table>

**Status:**&#x20;

**0: Başarılı**&#x20;

**3: Rapor Bulunamadı**

**6: UUID Formatı Hatalı**

### **Get Totals Between Dates**

İstek parametresinde verilen unix timestamp ms formatındaki tarihler arasındaki rapor toplam bilgilerini döner

**Örnek Response Body:**

```json
{
    "status": 0,
    "message": "OK",
    "detail": [
        {
            "sum": 3809,
            "dateTime": "1704067200000"
        },
        {
            "sum": 3655,
            "dateTime": "1704153600000"
        },
        {
            "sum": 3395,
            "dateTime": "1704240000000"
        },
        {
            "sum": 3094,
            "dateTime": "1704326400000"
        }
    ]
```

**Status Kodları:**

**0: Başarılı**

**3: Rapor Bulunamadı**

**4: Datetime formatı hatalı**&#x20;

**5: Vkn Bulunamadı**

### **Get Summary By Terminal ID**

İstekte path variable olarak verilen terminal id'ye ait tarih parametreleri arasındaki rapor özet bilgilerini döner

**Örnek Response Body:**

```json
{
    "status": 0,
    "message": "OK",
    "detail": [
        {
            "dateTime": 1704101610000,
            "total": 3809,
            "totalVat": 761,
            "uuid": "85a5da69-8a4c-42d6-9cb1-b3c40e15e2e8",
            "zNo": 2
        },
        {
            "dateTime": 1704188010000,
            "total": 3655,
            "totalVat": 731,
            "uuid": "f079a017-3530-46c1-84c1-fc4db885536a",
            "zNo": 2
        }
    ]
}

```

**total :** O günki total değer

**totalVat :** O günki toplam kdv değeri.

**uuid :** Rapor uuid'si.

**zNo :** Z numarası.

**dateTime :** Unix Timestamp ms formatında tarih.

**Status Kodları:**

**0: Başarılı**

**2: İki tarih arasında 32 günden fazla olamaz.**

**3: Rapor bulunamadı**

**5:Terminal bulunamadı**

### **Get Summary By Tax ID**

İstekte path variable olarak verilen tax id'ye ait tarih parametreleri arasındaki rapor özet bilgilerini döner

**Örnek Response Body:**

```json
{
    "status": 0,
    "message": "OK",
    "detail": [
        {
            "dateTime": 1704101610000,
            "total": 3809,
            "totalVat": 761,
            "uuid": "85a5da69-8a4c-42d6-9cb1-b3c40e15e2e8",
            "zNo": 2
        },
        {
            "dateTime": 1704188010000,
            "total": 3655,
            "totalVat": 731,
            "uuid": "f079a017-3530-46c1-84c1-fc4db885536a",
            "zNo": 2
        }
    ]
}

```

**total :** O günki total değer

**totalVat :** O günki toplam kdv değeri.

**uuid :** Rapor uuid'si.

**zNo :** Z numarası.

**dateTime :** Unix Timestamp ms formatında tarih.

**Status Kodları:**

**0: Başarılı**

**2: İki tarih arasında 32 günden fazla olamaz.**

**3: Rapor bulunamadı**

**5:Tax Id bulunamadı**

#### Ödeme Tipleri

<table data-header-hidden><thead><tr><th></th><th width="156"></th><th></th></tr></thead><tbody><tr><td><strong>Ödeme Tipi</strong></td><td><strong>Değer</strong></td><td><strong>Açıklama</strong></td></tr><tr><td><code>PAYMENT_CASH</code></td><td>1</td><td>Nakit</td></tr><tr><td><code>PAYMENT_CHEQUE</code></td><td>2</td><td>Çek</td></tr><tr><td><code>PAYMENT_CREDITCARD</code></td><td>3</td><td>Kredi Kartı</td></tr><tr><td><code>PAYMENT_FOOD</code></td><td>7</td><td>Yemek Kartı</td></tr><tr><td><code>PAYMENT_ODEMESIZ</code></td><td>8</td><td>Ödemesiz</td></tr><tr><td><code>PAYMENT_IKRAM</code></td><td>9</td><td>İkram</td></tr><tr><td><code>PAYMENT_VERESIYE</code></td><td>10</td><td>Veresiye</td></tr><tr><td><code>PAYMENT_PUAN</code></td><td>11</td><td>Puan</td></tr><tr><td><code>PAYMENT_VPOS</code></td><td>12</td><td>EPOS Ödeme</td></tr><tr><td><code>PAYMENT_MOBILE</code></td><td>13</td><td>Mobil Ödeme</td></tr><tr><td><code>PAYMENT_EMONEY</code></td><td>14</td><td>E-Para Ödeme</td></tr><tr><td><code>PAYMENT_CHARITY</code></td><td>15</td><td>Bağış</td></tr><tr><td><code>PAYMENT_BOND</code></td><td>16</td><td>Bond ile Ödeme</td></tr><tr><td><code>PAYMENT_OPENACCOUNT</code></td><td>17</td><td>Açık Hesap</td></tr><tr><td><code>PAYMENT_MONEYTRANSFER</code></td><td>18</td><td>Para Transferi</td></tr><tr><td><code>PAYMENT_TRANSPORTATIONCARD</code></td><td>19</td><td>Ulaşım Kartı</td></tr><tr><td><code>PAYMENT_GIFTCARD</code></td><td>20</td><td>Hediye Kartı</td></tr></tbody></table>

**Yemek Kartı Kodları:**

<table data-header-hidden><thead><tr><th></th><th width="156"></th></tr></thead><tbody><tr><td><strong>Yemek Kartı</strong> </td><td><strong>Kod</strong></td></tr><tr><td><code>EDENRED</code></td><td>1001</td></tr><tr><td><code>MULTINET</code></td><td>1002</td></tr><tr><td>SETCARD</td><td>1003</td></tr><tr><td><code>SODEXO</code></td><td>1004</td></tr><tr><td><code>TOKENFLEX</code></td><td>1005</td></tr></tbody></table>

**Banka Kodları:**

<table><thead><tr><th width="127" align="center">Kod</th><th width="351">Banka/Özel Finans Kurumu</th></tr></thead><tbody><tr><td align="center">001</td><td>Türkiye Cumhuriyet Merkez Bankası A.Ş.</td></tr><tr><td align="center">004</td><td>İller Bankası</td></tr><tr><td align="center">010</td><td>Türkiye Cumhuriyeti Ziraat Bankası A.Ş.</td></tr><tr><td align="center">012</td><td>Türkiye Halk Bankası A.Ş.</td></tr><tr><td align="center">013</td><td>Denizbank</td></tr><tr><td align="center">014</td><td>Türkiye Sınai Kalkınma Bankası A.Ş.</td></tr><tr><td align="center">015</td><td>Türkiye Vakıflar Bankası T.A.O.</td></tr><tr><td align="center">016</td><td>Türkiye İhracat Kredi Bankası A.Ş. (Eximbank)</td></tr><tr><td align="center">017</td><td>Türkiye Kalkınma Bankası A.Ş.</td></tr><tr><td align="center">029</td><td>Birleşik Fon Bankası A.Ş. (Bayındırbank A.Ş.)</td></tr><tr><td align="center">032</td><td>Türk Ekonomi Bankası A.Ş.</td></tr><tr><td align="center">034</td><td>Aktif Yatırım Bankası A.Ş.</td></tr><tr><td align="center">046</td><td>Akbank T.A.Ş.</td></tr><tr><td align="center">048</td><td>HSBC Bank A.Ş.</td></tr><tr><td align="center">058</td><td>Sınai Yatırım Bankası A.Ş.</td></tr><tr><td align="center">059</td><td>Şekerbank T.A.Ş.</td></tr><tr><td align="center">062</td><td>Türkiye Garanti Bankası A.Ş.</td></tr><tr><td align="center">064</td><td>Türkiye İş Bankası A.Ş.</td></tr><tr><td align="center">067</td><td>Yapı ve Kredi Bankası A.Ş.</td></tr><tr><td align="center">071</td><td>Fortis Bank (TEB)</td></tr><tr><td align="center">087</td><td>Banca di Roma</td></tr><tr><td align="center">088</td><td>The Royal Bank of Scotland PLC Merkezi Amsterdam İstanbul Merkez Şubesi</td></tr><tr><td align="center">091</td><td>Arap Türk Bankası A.Ş.</td></tr><tr><td align="center">092</td><td>Citibank N.A.</td></tr><tr><td align="center">094</td><td>Bank Mellat</td></tr><tr><td align="center">095</td><td>BCCI</td></tr><tr><td align="center">096</td><td>Turkish Bank A.Ş.</td></tr><tr><td align="center">097</td><td>Habib Bank Limited</td></tr><tr><td align="center">098</td><td>JP Morgan Chase Bank İstanbul Türkiye Şubesi</td></tr><tr><td align="center">099</td><td>Oyak Bank A.Ş. - ING BANK</td></tr><tr><td align="center">100</td><td>Adabank A.Ş.</td></tr><tr><td align="center">101</td><td>Türk Sakura Bank A.Ş.</td></tr><tr><td align="center">103</td><td>Fiba Bank A.Ş.</td></tr><tr><td align="center">104</td><td>IMPEXBANK</td></tr><tr><td align="center">106</td><td>PORTIGON A.G.</td></tr><tr><td align="center">107</td><td>BNP-Ak-Dresdner Bank A.Ş.</td></tr><tr><td align="center">108</td><td>Turkland Bank A.Ş.</td></tr><tr><td align="center">109</td><td>Tekstil Bankası A.Ş.</td></tr><tr><td align="center">110</td><td>Credit Lyonnais</td></tr><tr><td align="center">111</td><td>Finansbank A.Ş.</td></tr><tr><td align="center">113</td><td>Marbank</td></tr><tr><td align="center">115</td><td>Deutsche Bank A.Ş.</td></tr><tr><td align="center">116</td><td>TAİB Yatırım Bank A.Ş.</td></tr><tr><td align="center">117</td><td>Turizm Yatırım ve Ticaret Bank A.Ş.</td></tr><tr><td align="center">118</td><td>Kıbrıs Kredi Bankası</td></tr><tr><td align="center">119</td><td>Birleşik Yatırım</td></tr><tr><td align="center">121</td><td>Standard Chartered Yatırım Bankası Türk A.Ş.</td></tr><tr><td align="center">122</td><td>Societe Generale</td></tr><tr><td align="center">123</td><td>HSBC Bank A.Ş.</td></tr><tr><td align="center">124</td><td>Alternatifbank A.Ş.</td></tr><tr><td align="center">125</td><td>Burganbank A.Ş.</td></tr><tr><td align="center">127</td><td>KentBank</td></tr><tr><td align="center">128</td><td>Park Yatırım Bankası</td></tr><tr><td align="center">129</td><td>Tat Yatırım Bankası A.Ş.</td></tr><tr><td align="center">132</td><td>IMKB Takas ve Saklama Bankası A.Ş.</td></tr><tr><td align="center">133</td><td>ING BANK</td></tr><tr><td align="center">134</td><td>Denizbank A.Ş.</td></tr><tr><td align="center">135</td><td>Anadolubank A.Ş.</td></tr><tr><td align="center">136</td><td>Okan Yatırım Bankası A Ş</td></tr><tr><td align="center">137</td><td>Rabobank Nederland İstanbul Merkez Şubesi</td></tr><tr><td align="center">138</td><td>Diler Yatırım Bankası A.Ş.</td></tr><tr><td align="center">139</td><td>GSD Yatırım Bankası A.Ş.</td></tr><tr><td align="center">140</td><td>Credit Suisse First Boston İstanbul Şubesi</td></tr><tr><td align="center">141</td><td>Nurol Yatırım Bankası A.Ş.</td></tr><tr><td align="center">142</td><td>Bank Pozitif Kredi ve Kalkınma Bankası A.Ş.</td></tr><tr><td align="center">144</td><td>Atlas Yatırım Bankası A.Ş.</td></tr><tr><td align="center">145</td><td>Morgan Guarenty Trusy Company</td></tr><tr><td align="center">146</td><td>OdeaBank A.Ş.</td></tr><tr><td align="center">147</td><td>Bank of Tokyo -Mitsubishi UFJ Turkey A.Ş.</td></tr><tr><td align="center">148</td><td>Intesa SanPaolo SPA İtalya-İstanbul Merkez Şubesi</td></tr><tr><td align="center">203</td><td>Al Baraka Türk Katılım Bankası A.Ş.</td></tr><tr><td align="center">204</td><td>Family Finans Kurumu</td></tr><tr><td align="center">205</td><td>Kuveyt Türk Katılım Bankası A.Ş.</td></tr><tr><td align="center">206</td><td>Türkiye Finans Katılım Bankası A.Ş.</td></tr><tr><td align="center">208</td><td>Asya Katılım Bankası A.Ş.</td></tr><tr><td align="center">210</td><td>Vakıf Katılım Bankası A.Ş.</td></tr><tr><td align="center">223</td><td>Al Baraka Türk Katılım Bankası A.Ş.</td></tr></tbody></table>
