Kurumsal API

versiyon: API(v1.5.1)

Güncellenme Tarihi 22.11.2021
Hazırlayan Gelal Teknoloji

İletişim Bilgileri

+90 850 255 13 13
Destek: destek@gelal.com
API Teknik Destek: api@gelal.com
Fatih Sultan Mehmet Mah. Balkan Cad. No: 47 Casper Plaza ÜMRANİYE - ISTANBUL

Giriş

Gelal API üzerinden kargo, kurye ve nakliye fiyatlarını sorgulayabilir, siparişlerinizi kolayca oluşturabilrsiniz. Kurumsal API’nin kullanılabilmesi için gelal.com üzerinden müşteri kaydı yapılmalı ve şirket bilgileri eksiksiz doldurulmalıdır. Entegrasyonun test ortamında başarıyla gerçekleşmesi sonrasında, api@gelal.com adresinden canlı ortam için secret key talebinde bulunabilirsiniz.

Notlar

Duyurular

Gelal API için paylaştığımız duyuruları içerir.

Yetkilendirme

image-1

İstenilen servislere API Key ile erişilmektedir. Şirketinize özel secret’i tüm isteklerde HTTP Header’a ekleyerek (image-1) işlemlerinizi yapabilirsiniz.

Test ortamı için kullanılacak “secret” “3d7584c0d5d222dc05263a79e8cd28698f99161e” şeklindedir.


  // Test ortam istekleri için base url
  "URL": "https://dev.gelal.com/api/merchant/v1.0/"
  // Canlı ortam istekleri için base url
  "URL":"https://gelal.com/api/merchant/v1.0/"

Hatalar

API servisleri, hata oluşması durumunda “HTTP Status Code 400 (Bad Request)” döner. Hata açıklaması response body içerisinde “error” alanında gönderilmektedir

Örnek HTTP Response Body;


  {
    "error": {
      "message": "İl ve İlçe alanları zorunludur!"
    },
    "isSuccess": false,
    "count": 0,
    "data": null
  }

Sipariş Durumları

Siparişin hareket durumları gösterilir. Tüm istek ve cevaplarda Değer (Value) alanı kullanılır

Parametre Adı Değer Açıklama
WaitingTransporter 1 Taşımacı Bekleniyor
InTransport 2 Taşınıyor
InWarehoue 4 Depoda
Delivered 8 Teslim Edildi
SenderNotReachable 16 Göndericiye Ulaşılamıyor
ReceiverNotReachable 32 Alıcıya Ulaşılamıyor
Returned 64 İade Edildi
Canceled 128 İptal Edildi
CustomerServiceCouldNotReach 256 Müşteri Hizmetleri Ulaşamadı
MissionCompleted 512 Görev Tamamlandı
InProblem 1024 Teslimat Sürecinde Problem Var
MissingInfo 2048 Sipariş Bilgileri Eksik

Metotlar

# Kurye Metotları;
CourierPrice - Kurye fiyat sorgulama;
Courier - Kurye siparişi oluşturma;
---------------------------------------------------------------------------------
# Kargo Metotları;
CargoPrice - Kargo fiyat sorgulama;
Cargo - Kargo siparişi oluşturma;
---------------------------------------------------------------------------------
# Nakliye Metotları;
ShippingPrice - Nakliye fiyat sorgulama;
Shipping - Nakliye siparişi oluşturma;
---------------------------------------------------------------------------------
# Genel Metotlar;
ShipmentCancel - Sipariş iptal etme;
ShipmentList - Sipariş listesi;
ShipmentDetail - Sipariş detayı;
ShipmentStatus - Sipariş durumu;
ShipmentTrackingCode - Paketi takip etmek için takip kodu alma;
TransporterLocation - Paketin anlık konumu;
ShipmentImage - Sipariş fotoğrafları;
ShipmentTransaction - Sipariş durum geçmişi;
ShipmentReadyTime - Siparişin hazır olacağı zamanını, taşınma zamanını veya göndericiden teslim alınma zamanını günceller;
PrintBarcode - Siparişe ait yazdırılabilir .pdf barkod çıktısı verir;
InProblem - Siparişin durumunu InProblem durumuna çeker;

Kurye Metotları

CourierPrice Servisi

Hızlı kurye (express) taşıma talepleri için fiyat bilgisi döner. Şirketinize gelal tarafından sabit fiyat tanımlaması yapıldı ise tüm servis çağrımlarında aynı fiyat döner

CourierPrice Parametreleri – Hızlı kurye için fiyat sorgulama servisi;

Parametre Adı Tipi Zorunlu Açıklama
senderCity string evet Gönderici şehri
receiverCity string evet Alıcı şehri
senderCounty string evet Gönderici ilçesi
receiverCounty string evet Alıcı ilçesi
Items
weight
height
length
width
List<object>
decimal
decimal
decimal
decimal

evet
evet
evet
evet
Gönderilecek eşyanın detayları
Ağırlık
Yükseklik
Uzunluk
Genişlik

Örnek HTTP Request - CourierPrice;

Örnek HTTP Response - CourierPrice;


  {
    "error": {
      "message": null
    },
    "isSuccess": true,
    "count": 0,
    "data": {
        "price": 45
    }
  }

Fiyat bilgisi “data” objesi altında “price” alanıdır

Courier Servisi

Hızlı kurye (express) taşıma talebi oluşturur.

Courier Parametreleri – Hızlı kurye için sipariş oluşturma servisi;

Parametre Adı Tipi Zorunlu Açıklama
senderCity string evet Gönderici şehri
receiverCity string evet Alıcı şehri
senderCounty string evet Gönderici ilçesi
receiverCounty string evet Alıcı ilçesi
Items
name
weight
height
length
width
List<object>
string
decimal
decimal
decimal
decimal

evet
evet
evet
evet
evet
Gönderilecek eşyanın detayları
Eşya adı
Ağırlık
Yükseklik
Uzunluk
Genişlik
shipmentDate DateTime hayır Siparişin hazır olma zamanı. Varsayılan değeri Null
transportTime DateTime hayır Siparişin taşınacağı zaman. Varsayılan değer ShipmentDate (siparişin hazır olma zamanı)
pickupStartTime byte hayır Siparişin Göndericiden alınabileceği başlangıç saati (varsayılan değer: 8)
pickupEndTime byte hayır Siparişin Göndericiden alınabileceği bitiş saati (varsayılan değer: 18)
deliverableStartTime byte hayır Siparişin Alıcıya teslim edilebilir başlangıç saati (varsayılan değer: 8)
deliverableEndTime byte hayır Siparişin Alıcıya teslim edilebilir bitiş saati (varsayılan değer: 18)
senderAddress string evet Gönderici açık adresi (İl ve İlçe hariç)
receiverAddress string evet Alıcı açık adresi (İl ve İlçe hariç)
senderName string evet Gönderici adı
receiverName string evet Alıcı adı
senderSurName string evet Gönderici soyadı
receiverSurname string evet Alıcı soyadı
senderPhoneNumber string evet Gönderici telefon numarası (5XXXXXXXXX formatında olmalı)
receiverPhoneNumber string evet Alıcı telefon numarası (5XXXXXXXXX formatında olmalı)
senderNote string hayır Gönderici notu (Maksimum 300 karakter olmalı)
receiverNote string hayır Alıcı notu (Maksimum 300 karakter olmalı)
referenceNumber string hayır Siparişe ait referans numarası (müşteri sistemindeki tekil referans numarası)
referenceNumber2 string hayır Siparişe ait ekstra referans numarası
referenceNumber3 string hayır Siparişe ait ekstra referans numarası
zoneCode string hayır Şirketin Depo Kodu (Gelal operasyon yetkilileri tarafından sağlanmaktadır)
isPickup bool hayır Dağıtım veya Toplama siparişi biligisidir. Varsayılan değer false, eğer topama ise true olarak gönderilir
PaymentType int hayır Ödeme tipini belirtir. 7 = Kapıda Nakit Ödeme, 8 = Kapıda KK ile Ödeme. Varsayılan değer 0 dır.
PaymentAmount decimal hayır Tahsilatlı gönderilerde, alıcıdan tahsil edilecek tutar, KK yada nakit alınır. Eğer ödeme tipi (PaymentType) 7 veya 8 olursa, yani Kapıda ödemeli ise o zaman bu alan zorunludur.

Örnek HTTP Request - Courier;

Örnek HTTP Response - Courier;

              
  {
    "error": {
      "message": null
    },
    "isSuccess": true,
    "count": 0,
    "data": {
        "id": 5133465,
        "price": 45.25,
        "referenceNumber": "asd1234",
        "gelalBarcode": "202106145472803131",
        "shipmentTrackingLink": "Tracking URL"
    }
  }

Siparişin başarılı bir şekilde oluşturulması durumunda “isSuccess: true” olarak dönecek ve “data” objesi altında “id” alanında siparişin numarası, “gelalBarcode” alanında Gelal tarafından oluşturulan barkod numarası ve “shipmentTrackingLink” alanında siparişin canlı olarak takip edilebileceği link dönecektir

Kargo Metotları

CargoPrice Servisi

Hızlı kargo (gün içi veya ertesi gün teslimat) taşıma talepleri için fiyat bilgisi döner. Şirketinize gelal tarafından sabit fiyat tanımlaması yapıldı ise tüm servis çağrımlarında aynı fiyat döner

CargoPrice Parametreleri – Kargo için fiyat sorgulama servisi;

Parametre Adı Tipi Zorunlu Açıklama
senderCity string evet Gönderici şehri
receiverCity string evet Alıcı şehri
senderCounty string evet Gönderici ilçesi
receiverCounty string evet Alıcı ilçesi
Items
weight
height
length
width
List<object>
decimal
decimal
decimal
decimal

evet
evet
evet
evet
Gönderilecek eşyanın detayları
Ağırlık
Yükseklik
Uzunluk
Genişlik

Örnek HTTP Request - CargoPrice;

Örnek HTTP Response - CargoPrice;


  {
    "error": {
      "message": null
    },
    "isSuccess": true,
    "count": 0,
    "data": {
          "price": 19
    }
  }

Fiyat bilgisi “data” objesi altında “price” alanındadır

Cargo Servisi

Kargo (gün içi veya ertesi gün teslimat) taşıma talebi oluşturur

Cargo Parametreleri – Kargo için sipariş oluşturma servisi;

Parametre Adı Tipi Zorunlu Açıklama
senderCity string evet Gönderici Şehri
receiverCity string evet Alıcı şehri
senderCounty string evet Gönderici ilçesi
receiverCounty string evet Alıcı ilçesi
Items
name
weight
height
length
width
desi
List<object>
string
decimal
decimal
decimal
decimal
decimal

evet
evet
evet
evet
evet
hayır
Gönderilecek eşyanın detayları
Eşya adı
Ağırlık
Yükseklik
Uzunluk
Genişlik
Siparişe ait desi bilgisi
shipmentDate DateTime hayır Siparişin hazır olma zamanı. Varsayılan değeri Null
transportTime DateTime hayır Siparişin taşınacağı zaman. Varsayılan değer ShipmentDate (siparişin hazır olma zamanı)
pickupStartTime byte hayır Siparişin Göndericiden alınabileceği başlangıç saati (varsayılan değer: 8)
pickupEndTime byte hayır Siparişin Göndericiden alınabileceği bitiş saati (varsayılan değer: 18)
deliverableStartTime byte hayır Siparişin Alıcıya teslim edilebilir başlangıç saati (varsayılan değer: 8)
deliverableEndTime byte hayır Siparişin Alıcıya teslim edilebilir bitiş saati (varsayılan değer: 18)
senderAddress string evet Gönderici açık adresi (İl ve İlçe hariç)
receiverAddress string evet Alıcı açık adresi (İl ve İlçe hariç)
senderName string evet Gönderici adı
receiverName string evet Alıcı adı
senderSurName string evet Gönderici soyadı
receiverSurname string evet Alıcı soyadı
senderPhoneNumber string evet Gönderici telefon numarası (5XXXXXXXXX formatında olmalı)
receiverPhoneNumber string evet Alıcı telefon numarası (5XXXXXXXXX formatında olmalı)
senderNote string hayır Gönderici Notu (Maksimum 300 karakter olmalı)
receiverNote string hayır Alıcı Notu (Maksimum 300 karakter olmalı)
referenceNumber string hayır Siparişe ait referans numarası( müşteri sistemindeki tekil referans numarası)
referenceNumber2 string hayır Siparişe ait ekstra referans numarası
referenceNumber3 string hayır Siparişe ait ekstra referans numarası
isPickup bool hayır Dağıtım veya Toplama siparişi biligisidir. Varsayılan değer false, eğer topama ise true olarak gönderilir
zoneCode string hayır Şirketin Depo Kodu (Gelal operasyon yetkilileri tarafından sağlanmaktadır)
PaymentType int hayır Ödeme tipini belirtir. 7 = Kapıda Nakit Ödeme, 8 = Kapıda KK ile Ödeme. Varsayılan değer 0 dır.
PaymentAmount decimal hayır Tahsilatlı gönderilerde, alıcıdan tahsil edilecek tutar, KK yada nakit alınır. Eğer ödeme tipi (PaymentType) 7 veya 8 olursa, yani Kapıda ödemeli ise o zaman bu alan zorunludur.

Örnek HTTP Request - Cargo;

Nakliye Metotları

ShippingPrice Servisi

Nakliye taşıma talepleri için fiyat bilgisi döner. Şirketinize gelal tarafından sabit fiyat tanımlaması yapıldı ise tüm servis çağrımlarında aynı fiyat döner. Tanımlanmadı ise mesafe bazlı fiyat döner.

ShippingPrice Parametreleri – Nakliye için fiyat sorgulama servisi;

Parametre Adı Tipi Zorunlu Açıklama
senderCity string evet Gönderici şehri
receiverCity string evet Alıcı şehri
senderCounty string evet Gönderici ilçesi
receiverCounty string evet Alıcı ilçesi
zoneCode string hayır Şirketin depo kodu (Gelal operasyon yetkilileri tarafından sağlanmaktadır)
senderAddress string evet Gönderici açık adresi (İl ve İlçe hariç)
receiverAddress string evet Alıcı açık adresi (İl ve İlçe hariç)
Items
weight
height
length
width
List<object>
decimal
decimal
decimal
decimal

evet
evet
evet
evet
Gönderilecek eşyanın detayları
Ağırlık
Yükseklik
Uzunluk
Genişlik

Örnek HTTP Request - ShippingPrice;

Örnek HTTP Response - ShippingPrice;

            
  {
    "error": {
      "message": null
    },
    "isSuccess": true,
    "count": 0,
    "data": {
      "immediately": 19,
      "immediatelyPriceDetail":{
        "invoiceTotal": null,
        "subTotal": 100,
        "vatRate": 18,
        "totalVat": 0,
        "incomingTaxRate": 20,
        "totalIncomingTax": 0,
        "additionalServicesDetail":[],
        "totalPrice": 100
      },
      "incidentally": 82,
      "incidentallyPriceDetail":{
        "invoiceTotal": null,
        "subTotal": 100,
        "vatRate": 18,
        "totalVat": 0,
        "incomingTaxRate": 20,
        "totalIncomingTax": 0,
        "additionalServicesDetail":[],
        "totalPrice": 100
      },
      "transporterCommissionRate": 0,
      "companyPackageId": null
    }
  }
            
          

Shipping Servisi

Nakliye taşıma talebi oluşturur.

Nakliye Parametreleri – Nakliye için sipariş oluşturma servisi;

Parametre Adı Tipi Zorunlu Açıklama
senderCity string evet Gönderici şehri
receiverCity string evet Alıcı şehri
senderCounty string evet Gönderici ilçesi
receiverCounty string evet Alıcı ilçesi
Items
name
weight
height
length
width
List<object>
string
decimal
decimal
decimal
decimal

evet
evet
evet
evet
evet
Gönderilecek eşyanın detayları
Eşya adı
Ağırlık
Yükseklik
Uzunluk
Genişlik
shipmentDate DateTime hayır Siparişin hazır olma zamanı. Varsayılan değeri Null
transportTime DateTime hayır Siparişin taşınacağı zaman. Varsayılan değer ShipmentDate (siparişin hazır olma zamanı)
pickupStartTime byte hayır Siparişin Göndericiden alınabileceği başlangıç saati (varsayılan değer: 8)
pickupEndTime byte hayır Siparişin Göndericiden alınabileceği bitiş saati (varsayılan değer: 18)
deliverableStartTime byte hayır Siparişin Alıcıya teslim edilebilir başlangıç saati (varsayılan değer: 8)
deliverableEndTime byte hayır Siparişin Alıcıya teslim edilebilir bitiş saati (varsayılan değer: 18)
senderAddress string evet Gönderici açık adresi (İl ve İlçe hariç)
receiverAddress string evet Alıcı açık adresi (İl ve İlçe hariç)
senderName string evet Gönderici adı
receiverName string evet Alıcı adı
senderSurName string evet Gönderici soyadı
receiverSurname string evet Alıcı soyadı
senderPhoneNumber string evet Gönderici telefon numarası (5XXXXXXXXX formatında olmalı)
receiverPhoneNumber string evet Alıcı telefon numarası (5XXXXXXXXX formatında olmalı)
senderNote string hayır Gönderici notu (Maksimum 300 karakter olmalı)
receiverNote string hayır Alıcı notu (Maksimum 300 karakter olmalı)
referenceNumber string hayır Siparişe ait referans numarası( müşteri sistemindeki tekil referans numarası)
referenceNumber2 string hayır Siparişe ait ekstra referans numarası
referenceNumber3 string hayır Siparişe ait ekstra referans numarası
zoneCode string hayır Şirketin Depo Kodu (Gelal operasyon yetkilileri tarafından sağlanmaktadır)
isPickup bool hayır Dağıtım veya Toplama siparişi biligisidir. Varsayılan değer false, eğer topama ise true olarak gönderilir
PaymentType int hayır Ödeme tipini belirtir. 7 = Kapıda Nakit Ödeme, 8 = Kapıda KK ile Ödeme. Varsayılan değer 0 dır.
PaymentAmount decimal hayır Tahsilatlı gönderilerde, alıcıdan tahsil edilecek tutar, KK yada nakit alınır. Eğer ödeme tipi (PaymentType) 7 veya 8 olursa, yani Kapıda ödemeli ise o zaman bu alan zorunludur.

Örnek HTTP Request - Shipping;

Örnek HTTP Response - Shipping;

              
  {
    "error": {
      "message": null
    },
    "isSuccess": true,
    "count": 0,
    "data": {
         "id": 268124,
         "price": 45.25,
         "referenceNumber": "asd1234",
         "gelalBarcode": "202106145472803131",
         "shipmentTrackingLink": "Tracking URL"
    }
  }
              
            

Siparişin başarılı bir şekilde oluşturulması durumunda “isSuccess: true” olarak dönecek ve “data” objesi altında “id” alanında siparişin numarası, “gelalBarcode” alanında Gelal tarafından oluşturulan barkod numarası ve “shipmentTrackingLink” alanında siparişin canlı olarak takip edilebileceği link dönecektir.

Genel Metotlar

ShipmentCancel Servisi

Daha önce oluşturulan ve henüz taşımacı tarafından teslim alınmamış taşıma siparişini (kurye ya da kargo) iptal eder. Id ve ReferenceNumber parametrelerden minimum bir tanesi mutlaka dolu olmak zorundadır.

Parametre Adı Tipi Zorunlu Açıklama
id int? hayır Siparişe ait Id. ReferenceNumber alanı null ise zorunlu
referenceNumber string hayır Siparişe ait referans numarası (müşteri sistemindeki tekil referans numarası). Id alanı null ise zorunlu
note string evet Gönderici notu (Maksimum 300 karakter olmalı)

Örnek HTTP Request - ShipmentCancel;

              
  {
    "id": 516,
    "referenceNumber": "asd1234",
    "note": "iptal açıklaması"
  }
              
          

Örnek HTTP Response - ShipmentCancel;

                    
  {
  "error": {
    "message": null
  },
  "isSuccess": true,
  "count": 0,
  "data": null
  }
                    
                

ShipmentList Servisi

Daha önce oluşturulan taşıma siparişlerinin listesini döner. Verilen arama paremetrelerine göre liste filtrelenir.

Parametre Adı Tipi Zorunlu Açıklama
id int? hayır Siparişe ait ID numarası
name string hayır Alıcının veya göndericinin adı
surname string hayır Alıcının veya göndericinin soyadı
phoneNumber string hayır Alıcının veya göndericinin telefon numarası
referenceNumber string hayır Siparişe ait referans numarası (müşteri sistemindeki tekil referans numarası)
createdStartDate string hayır Siparişin oluşturulduğu başlangıç tarihi
createdEndDate string hayır Siparişin oluşturulduğu bitiş tarihi
pageLimit string evet Sonuç kayıt Sayısı (sayfalama için)
pageNumber string evet Sayfa indexi

Örnek HTTP Request - ShipmentList;

Örnek HTTP Response - ShipmentList;

                
  {
  "error": {
    "message": null
  },
  "isSuccess": true,
  "count": 2,
  "data": [ 
    {
      "id":585,
      "referenceNumber":"asd1234",
      "referenceNumber2":null,
      "referenceNumber3":null,
      "status": 8,
      "statusMessage": "Teslim Edildi",
      "gelalBarcode": "202106105883908332",
      "shipmentTrackingLink": "https://dev.gelal.com/api/map/v1/map/202106105883908332",
      "transportType": "Kurye",
      "transporterName": null,
      "transporterId": 5,
      "createdDate": "2021-10-08T22:23:45Z",
      "shipmentDate": "2021-09-06T12:32:01Z",
      "deliveryTime": "2021-07-24T12:25:17Z",
      "transportTime": "2021-05-19T17:45:00Z",
      "transporterReadyTime": null,
      "pickupTime": "2021-09-06T13:25:01Z",
      "totalAmount": 42.0,
      "senderName": "Ahmet",
      "senderSurname": "Aksoy",
      "senderPhoneNumber": "5535555555",
      "senderCityId": 42.0,
      "senderCity": "İSTANBUL",
      "senderCountyId": 2049,
      "senderCounty": "ATAŞEHİR",
      "receiverName": "İsmail",
      "receiverSurname": "Recep",
      "receiverPhoneNumber": "5425555555",
      "receiverCityId": 34,
      "receiverCity": "İSTANBUL",
      "receiverCountyId": 1421,
      "receiverCounty": "KADIKÖY"
      },
      {
      "id":584,
      "referenceNumber":"asd1234",
      "referenceNumber2":null,
      "referenceNumber3":null,
      "status": 2,
      "statusMessage": "Taşınıyor",
      "gelalBarcode": "Teslim Edildi",
      "shipmentTrackingLink": "Teslim Edildi",
      "transportType": "Kargo",
      "transporterName": "Mustiko",
      "transporterId": 5,
      "createdDate": "2021-10-08T22:23:45Z",
      "shipmentDate": "2021-09-06T12:32:01Z",
      "deliveryTime": "2021-07-24T12:25:17Z",
      "transportTime": "2021-05-19T17:45:00Z",
      "transporterReadyTime": null,
      "pickupTime": "2021-09-06T13:25:01Z",
      "totalAmount": 42.0,
      "senderName": "Ahmet",
      "senderSurname": "Aksoy",
      "senderPhoneNumber": "5535555555",
      "senderCityId": 42.0,
      "senderCity": "İSTANBUL",
      "senderCountyId": 2049,
      "senderCounty": "ATAŞEHİR",
      "receiverName": "İsmail",
      "receiverSurname": "Recep",
      "receiverPhoneNumber": "5425555555",
      "receiverCityId": 34,
      "receiverCity": "İSTANBUL",
      "receiverCountyId": 1421,
      "receiverCounty": "KADIKÖY"
      }
    ]
  }
                
          

ShipmentDetail Servisi

Daha önce oluşturulmuş taşıma siparişine ait tüm detaylı bilgiyi verir. Id ve ReferenceNumber parametrelerden minimum bir tanesi mutlaka dolu olmak zorundadır.

Parametre Adı Tipi Zorunlu Açıklama
id int? hayır Siparişe ait Id. ReferenceNumber alanı null ise zorunlu
referenceNumber string hayır Siparişe ait referans numarası (müşteri sistemindeki tekil referans numarası). Id alanı null ise zorunlu

Örnek HTTP Request - ShipmentDetail;

Örnek HTTP Response - ShipmentDetail;

              
  {
    "error": {
      "message": null
  },
    "isSuccess":true,
    "count": 1,
    "data": {
      "person": {
        "shipper": {
          "id":8017,
          "name":"Ahmet",
          "surName":"Çırak",
          "phoneNumber":5453584596,
          "email":"ahmet@gelal.com",
          "city":"İSTANBUL",
          "county":null
          },
        "sender": {
          "id":190,
          "name":"Ahmet",
          "surName":"Aksoy",
          "phoneNumber":5535555555,
          "email":null,
          "city":"İSTANBUL",
          "county":"ATAŞEHİR"
          },
        "receiver": {
          "id":191,
          "name":"İsmail",
          "surName":"Recep",
          "phoneNumber":5425555555,
          "email":null,
          "city":"İSTANBUL",
          "county":"KADIKÖY"
          },
        "transporter": {
          "name":"Mustafa",
          "surName":"Yildiz"
          }
      },
      "items": [
        {
          "quantity":1,
          "width":0,
          "height":0,
          "length":0,
          "weight":1.5,
          "stuffName":"Ayakkabı",
          "desi":0,
          "desiM3":0,
          "calculatedWeight":0,
          "id":603
        }
      ],
      "detail": {
        "transportType": "Kargo",
        "status": 2,
        "isPartial": true,
        "shipmentDate": "2020-09-06T12:32:01Z",
        "deliveryTime": "2020-07-24T12:25:17Z",
        "pickupTime": "2020-07-24T12:25:17Z",
        "createdDate": "2020-09-06T13:25:01Z",
        "maxLength": 0,
        "maxHeight": 0,
        "maxWidth": 0,
        "totalDesi": 0,
        "totalWeight": 1,
        "senderNote": null,
        "receiverNote": null,
        "id":584,
        "referenceNumber":"asd1234",
        "referenceNumber2":null,
        "referenceNumber3":null,
        "transportTime":"2021-05-19T17:45:00Z",
        "transporterReadyTime":null,
        "gelalBarcode":"637540058781564510",
        "shipmentTrackingLink":"https://dev.gelal.com/api/map/v1/map/637540058781564510",
        "statusMessage":"Teslim Edildi",
        "tariffType":"Geçerken Gelal",
        "senderAddressLine":"İstanbul, Beşİktaş, Zorlu Center",
        "receiverAddressLine":"İstanbul, Kartal, Hürriyet Mahallesi Adnan Kahveci Caddesi Turna Sokak Metem Birlik Sitesi No:2e Blok:8 Daire:14",
        "distance":"30.57 KM",
        "notes": [
          {
              "status": 8,
              "statusMessage": "Teslim Edildi",
              "note": "Markete bırakıldı"
          }
        ]
      }
    }
  }
              
          

ShipmentStatus Servisi

Siparişin o andaki durumunu verir. Eğer paket taşıma durumunda ise paketin konumunu verir.Id ve ReferenceNumber parametrelerden minimum bir tanesi mutlaka dolu olmak zorundadır.

Parametre Adı Tipi Zorunlu Açıklama
id int? hayır Siparişe ait Id. ReferenceNumber alanı null ise zorunlu
referenceNumber string hayır Siparişe ait referans numarası (müşteri sistemindeki tekil referans numarası). Id alanı null ise zorunlu

Örnek HTTP Request - ShipmentStatus;

Örnek HTTP Response - ShipmentStatus;

                
  {
    "error": {
      "message": null
    },
    "isSuccess" : true,
    "count": 1,
    "data": {
          "id": 37316,
          "referenceNumber": "asd1234",
          "status": 2,
          "referenceNumber2": null,
          "referenceNumber3": null,
          "statusMessage": "Taşımacı Bekleniyor",
          "gelalBarcode": "202105077960956520",
          "shipmentTrackingLink": "https://dev.gelal.com/api/map/v1/map/202105077960956520",
          "transporterLocation": {
            "latitude": 42.2143,
            "longitude": 29.4352
          }
      }
  }
                
            

ShipmentTrackingCode Servisi

Paketin konumu çok sık takip edilecek ise bu servisten siparişe ait paketi taşıyan taşımacının takip kodu alınır. Alınan takip kodu ile TransporterLocation servisi çağrılır.Id ve ReferenceNumber parametrelerden minimum bir tanesi mutlaka dolu olmak zorundadır.

Parametre Adı Tipi Zorunlu Açıklama
id int? hayır Siparişe ait Id. ReferenceNumber alanı null ise zorunlu
referenceNumber string hayır Siparişe ait referans numarası (müşteri sistemindeki tekil referans numarası). Id alanı null ise zorunlu

Örnek HTTP Request - ShipmentTrackingCode;

Örnek HTTP Response - ShipmentTrackingCode;

                
  {
    "error": {
      "message": null
    },
    "isSuccess": true,
    "count": 0,
    "data": "9f71425c22b3e7048060b330fd33b022faab02368b633e85f1455ce246b88f1f"
  }
                
              

TransporterLocation Servisi

ShipmentTrackingCode servisinden alınan takip kodu ile paketin anlık konum bilgilerine bu servisten ulaşılır. Paket taşıma durumunda ise enlem boylam bilgilerini döner. Bu servis ShipmentStatus servisinden daha az veri döner ve daha hızlı çalışır. Sadece konumu sorgulamak için geliştirilmiştir.

Parametre Adı Tipi Zorunlu Açıklama
shipmentTrackingCode string evet Siparişe ait takip kodu

Örnek HTTP Request - TransporterLocation;

Örnek HTTP Response - TransporterLocation;

            
  {
    "error": {
      "message": null
    },
    "isSuccess": true,
    "count": 0,
    "data": {
      "latitude": 42.2143,
      "longitude": 29.4352
    }
  }
            
          

ShipmentImage Servisi

Yeni oluşturulan siparişlere ait resimlerin yüklendiği veya güncellendiği servis. Maksimum 6 adet resim yüklenebilir. Resimler durum güncellemesinden sonra kuyruk mantığında eklenmektedir. Nadiren kuryelerin sahada yaşadığı problemlerden dolayı (internet, kamera, şarj vs) resim yükleme işlemleri teslimat anında değil, kısa bir süre içerisinde operasyon tarafından yapılmaktadır.

Parametre Adı Tipi Zorunlu Açıklama
shipmentId int? hayır Siparişe ait Id. ReferenceNumber alanı null ise zorunlu
images List<string> evet Image Url'i veya Base64 image
referenceNumber string hayır Siparişe ait referans numarası (müşteri sistemindeki tekil referans numarası). Id alanı null ise zorunlu

Örnek HTTP Request - ShipmentImage;

Örnek HTTP Response - ShipmentImage;

                  
  {
    "error": {
      "message": null
    },
    "isSuccess": true,
    "count": 0,
    "data":null
  }
                  
                

ShipmentImage Servisi

Sipariş Sürecinde Gönderici, Alıcı ve Taşımacı tarafından çekilen fotoğrafların gösterilmesi için kullanılan servistir. Id ve ReferenceNumber parametrelerden minimum bir tanesi mutlaka dolu olmak zorundadır. Statuses (siparişin durumu) alanına göre filtreleyerek ilgili resimler çekilir.

Parametre Adı Tipi Zorunlu Açıklama
id int? hayır Siparişe ait Id. ReferenceNumber alanı null ise zorunlu
referenceNumber string hayır Siparişe ait referans numarası (müşteri sistemindeki tekil referans numarası). Id alanı null ise zorunlu
statuses List<Sipariş_Durumu> hayır Fotoğrafın hangi aşamada çekildi bilgisi (Delivered veya 8, SenderNotReachable veya 16)

Örnek HTTP Request - ShipmentImage;

                
  /shipment/image?id=37294&referenceNumber=asd1234&statuses=8&statuses=16&statuses=32
                
              

Örnek HTTP Response - ShipmentImage;

                
  {
    "error": {
      "message": null
    },
    "isSuccess" :true,
    "count":1,
    "data": [
      {
        "userId": 1,
        "shipmentId": 29,
        "createdDate": "2021-05-04T10:36:25Z",
        "status": 8,
        "statusMessage": "Teslim Edildi",
        "images":
          [
          "image1",
          "image2",
          "image3"
          ]
      }
    ]
  }
                
              

ShipmentTransaction Servisi

Sipariş süresince siparişin aldığı durumları, durumlara geçiş tarihini ve bu durumlarda yazılan not bilgilerini veren servistir.

Parametre Adı Tipi Zorunlu Açıklama
id int? hayır Siparişe ait Id. ReferenceNumber alanı null ise zorunlu
referenceNumber string hayır Siparişe ait referans numarası (müşteri sistemindeki tekil referans numarası). Id alanı null ise zorunlu

Örnek HTTP Request - ShipmentTransaction;

                
  /shipment/shipmentTransaction?id=37294&referenceNumber=asd1234
                
              

Örnek HTTP Response - ShipmentTransaction;

                  
  {
    "error": {
      "message": null
    },
    "isSuccess" :true,
    "count":3,
    "data": [
      {
        "createdDate": "2021-09-16T16:10:01Z",
        "status": 8,
        "statusMessage": "Teslim Edildi",
        "note": "Onay ilemi başarılı. SMS onay kodu: 6837"
      },
      {
        "createdDate": "2021-09-16T13:45:57Z",
        "status": 2,
        "statusMessage": "Taşınıyor",
        "note": null
      },
      {
        "createdDate": "2021-08-04T10:38:11Z",
        "status": 1,
        "statusMessage": "Taşımacı Bekleniyor",
        "note": null
      }
    ]
  }
                  
                

ShipmentReadyTime Servisi

Siparişin hazır olacağı zamanını, taşınma zamanını veya göndericiden teslim alınma zamanını günceller.

Siparişin güncellenebilmesi için tarih parametrelerinden en az bir tanesinin gönderilmesi gerekmektedir. Gönderilen parametre şimdiki zamandan büyük olmalıdır.Id ve ReferenceNumber parametrelerden minimum bir tanesi mutlaka dolu olmak zorundadır.

Parametre Adı Tipi Zorunlu Açıklama
ShipmentDate DateTime hayır Siparişin hazır olacağı zaman
TransportTime DateTime hayır Siparişin taşınma zamanı
id int? hayır Siparişe ait Id. ReferenceNumber alanı null ise zorunlu
referenceNumber string hayır Siparişe ait referans numarası (müşteri sistemindeki tekil referans numarası). Id alanı null ise zorunlu

Örnek HTTP Request - ShipmentReadyTime;

              
  {
    "id": 516,
    "referenceNumber": "asd1234",
    "shipmentDate": "2021-04-14 17:45:00",
    "transportTime": "2021-04-14 17:45:00",
  }   
              
            

Örnek HTTP Response - ShipmentReadyTime;

              
  {
    "error": {
      "message": null
    },
    "isSuccess": true,
    "count": 0,
    "data":null
  }
              
            

PrintBarcode Servisi

Siparişe ait yazdırılabilir PDF çıktısı alınmasını sağlayan servistir.

Parametre Adı Tipi Zorunlu Açıklama
id int? hayır Siparişe ait Id. ReferenceNumber alanı null ise zorunlu
referenceNumber string hayır Siparişe ait referans numarası (müşteri sistemindeki tekil referans numarası). Id alanı null ise zorunlu
withAddress bool hayır Siparişe ait adres bilgilerinin barkod çıktısına eklensin mi bilgisi. Varsayılan değeri true
withDeliveryTimeInformation bool hayır Siparişin teslim edilmesi gereken zamanı (aralığı) bilgisi. Varsayılan değeri false
width int? hayır Barkod genişliği (mm cinsinden). Varsayılan değeri 80.
height int? hayır Barkod yüksekliği (mm cinsinden). Varsayılan değeri 60.

Örnek HTTP Request - PrintBarcode;

Örnek HTTP Response - PrintBarcode;

    
  Binary <ReferenceNumber>.pdf
  
      

InProblem Servisi

Teslimat sürecinde bir problem yaşandı ise bunu Gelal sistemine bildirmek için kullanılır

Parametre AdıTipiZorunluAçıklama
idint?hayırSiparişe ait Id. ReferenceNumber alanı null ise zorunlu
referenceNumberstringhayırSiparişe ait referans numarası (müşteri sistemindeki tekil referans numarası). Id alanı null ise zorunlu
notestringevetInProblem durumuna çekilme nedeni (Maksimum 300 karakter olmalı)

Örnek HTTP Request - InProblem;


  {
    "id": 516,
    "referenceNumber": "asd1234",
    "note": "Teslimat sürecinde bir problem var"
  }

Örnek HTTP Response - InProblem;

        
  {
    "error": {
      "message": null
    },
    "isSuccess": true,
    "count": 0,
    "data": null
  }