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ındahttps://dev-gmu-report.devtokeninc.com/ecr/api/v1/ base url'i tanımlanmıştır.

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

{
    "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:

{
    "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)
            }
         ],
        "payments": [ // Optional 
           { 
               "quantity" : 1, (short)
               "amount": 100,  (int)
               "type"  : 0 (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
    }
}

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.

Status:

0: Başarılı

3: Rapor Bulunamadı

Get Totals Between Dates

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

Örnek Response Body:

{
    "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ı

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:

{
    "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ı

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:

{
    "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ı

Ödeme Tipleri

Last updated