Kurumsal API

Güncellemeler hakkında anında bilgi maili almak istiyorsan formu doldur


versiyon: API(v1.7.0)

Güncellenme Tarihi 24.11.2022
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 (Max 3 ay)

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
WillBeReturned 4096 İade Edilecek
ReceiverDidNotAccept 8192 Müşteri Kabul Etmedi

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;
---------------------------------------------------------------------------------
# Hava Kargo Metotları;
AirPrice - Hava Kargo fiyat sorgulama;
Air - Hava Kargo siparişi oluşturma;
---------------------------------------------------------------------------------
# Genel Metotlar;
ShipmentCancel - Sipariş iptal etme;
ShipmentList - Sipariş listesi;
ShipmentDetail - Sipariş detayı;
ShipmentStatus - Sipariş durumu;
ShipmentBulkStatus - Sipariş durumunu toplu sorgulama;
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;
DefinedPrice - Tanımlı olan tüm fiyat bilgilerini çeker;
BlockedAreas - Tanımlı fiyat bilgileri için geçersiz olan İl ve İlçe bilgilerin listesini döner;
Address - Siparişin Gönderici veya Alıcı ve Adres bilgilerini günceller;
---------------------------------------------------------------------------------
# Third Party Logistic (3PL);
3PL ShipmentDetail - Sipariş detayını verir;
3PL ShipmentUpdate - Sipariş durumunu günceller;

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. Ölçüler; uzunluk CM cinsinden ve ağırlık ise KG cinsinden hesaplanacaktır

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
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
totalDesi decimal hayır Toplam Desi - sıfırdan yüksek olması durumunda Items alanındaki desi değerleri dikkate alınmaz
Items
weight
height
length
width
desi
quantity
packageNumber
List<object>
decimal
decimal
decimal
decimal
decimal
int
int

evet
evet
evet
evet
hayır
hayır
hayır
Gönderilecek eşyanın detayları
Ağırlık
Yükseklik
Uzunluk
Genişlik
Siparişe ait desi bilgisi
Sayı (varsayılan 1 adet)
Paket Numarası (varsayılan değer 1)

Ö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. Ölçüler; uzunluk CM cinsinden ve ağırlık ise KG cinsinden hesaplanacaktır

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

Parametre Adı Tipi Zorunlu Açıklama
senderCity string evet Gönderici şehri (SenderZipCode dolu ise zorunlu değil)
receiverCity string evet Alıcı şehri (ReceiverZipCode dolu ise zorunlu değil)
senderCounty string evet Gönderici ilçesi (SenderZipCode dolu ise zorunlu değil)
receiverCounty string evet Alıcı ilçesi (ReceiverZipCode dolu ise zorunlu değil)
totalDesi decimal hayır Toplam Desi - sıfırdan yüksek olması durumunda Items alanındaki desi değerleri dikkate alınmaz
Items
name
weight
height
length
width
desi
quantity
price
type
code
packageNumber
List<object>
string
decimal
decimal
decimal
decimal
decimal
int
decimal
int
string
int

evet
evet
evet
evet
evet
hayır
hayır
hayır
hayır
hayır
hayır
Gönderilecek eşyanın detayları
Eşya adı
Ağırlık
Yükseklik
Uzunluk
Genişlik
Siparişe ait desi bilgisi
Sayı (varsayılan 1 adet)
Eşya tutarı (TL değeri)
Eşya tipi (0: Paket/Koli, 1: Evrak/Zarf, 2: Çuval, 4: Palet). Varsayılan değer : 0
Taşınacak ürüne ait kod
Paket Numarası (varsayılan değer 1)
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ı)
senderZipCode int? hayır Gönderici posta kodu
receiverZipCode int? hayır Alıcı posta kodu
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. Ölçüler; uzunluk CM cinsinden ve ağırlık ise KG cinsinden hesaplanacaktır

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
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
totalDesi decimal hayır Toplam Desi - sıfırdan yüksek olması durumunda Items alanındaki desi değerleri dikkate alınmaz
Items
weight
height
length
width
desi
quantity
packageNumber
List<object>
decimal
decimal
decimal
decimal
decimal
int
int

evet
evet
evet
evet
hayır
hayır
hayır
Gönderilecek eşyanın detayları
Ağırlık
Yükseklik
Uzunluk
Genişlik
Siparişe ait desi bilgisi
Sayı (varsayılan 1 adet)
Paket Numarası (varsayılan değer 1)

Ö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. Ölçüler; uzunluk CM cinsinden ve ağırlık ise KG cinsinden hesaplanacaktır
Gönderinin aynı gün teslim edilmesi için ShipmentDate ve TransporterTime alanları aynı gün olmalı
Gönderinin ertesi gün teslim edilmesi için TransporterTime ShipmentDate alanından bir sonraki gün olmalıdır

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

Parametre Adı Tipi Zorunlu Açıklama
senderCity string evet Gönderici Şehri (SenderZipCode dolu ise zorunlu değil)
receiverCity string evet Alıcı şehri (ReceiverZipCode dolu ise zorunlu değil)
senderCounty string evet Gönderici ilçesi (SenderZipCode dolu ise zorunlu değil)
receiverCounty string evet Alıcı ilçesi (ReceiverZipCode dolu ise zorunlu değil)
totalDesi decimal hayır Toplam Desi - sıfırdan yüksek olması durumunda Items alanındaki desi değerleri dikkate alınmaz
Items
name
weight
height
length
width
desi
quantity
price
type
code
packageNumber
List<object>
string
decimal
decimal
decimal
decimal
decimal
int
decimal
int
string
int

evet
evet
evet
evet
evet
hayır
hayır
hayır
hayır
hayır
hayır
Gönderilecek eşyanın detayları
Eşya adı
Ağırlık
Yükseklik
Uzunluk
Genişlik
Siparişe ait desi bilgisi
Sayı (varsayılan 1 adet)
Eşya tutarı (TL değeri)
Eşya tipi (0: Paket/Koli, 1: Evrak/Zarf, 2: Çuval, 4: Palet). Varsayılan değer : 0
Taşınacak ürüne ait kod
Paket Numarası (varsayılan değer 1)
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ı)
senderZipCode int? hayır Gönderici posta kodu
receiverZipCode int? hayır Alıcı posta kodu
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. Ölçüler; uzunluk CM cinsinden ve ağırlık ise KG cinsinden hesaplanacaktır

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ç)
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
totalDesi decimal hayır Toplam Desi - sıfırdan yüksek olması durumunda Items alanındaki desi değerleri dikkate alınmaz
Items
weight
height
length
width
desi
quantity
packageNumber
List<object>
decimal
decimal
decimal
decimal
decimal
int
int

evet
evet
evet
evet
hayır
hayır
hayır
Gönderilecek eşyanın detayları
Ağırlık
Yükseklik
Uzunluk
Genişlik
Siparişe ait desi bilgisi
Sayı (varsayılan 1 adet)
Paket Numarası (varsayılan değer 1)

Ö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. Ölçüler; uzunluk CM cinsinden ve ağırlık ise KG cinsinden hesaplanacaktır

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

Parametre Adı Tipi Zorunlu Açıklama
senderCity string evet Gönderici şehri (SenderZipCode dolu ise zorunlu değil)
receiverCity string evet Alıcı şehri (ReceiverZipCode dolu ise zorunlu değil)
senderCounty string evet Gönderici ilçesi (SenderZipCode dolu ise zorunlu değil)
receiverCounty string evet Alıcı ilçesi (ReceiverZipCode dolu ise zorunlu değil)
totalDesi decimal hayır Toplam Desi - sıfırdan yüksek olması durumunda Items alanındaki desi değerleri dikkate alınmaz
Items
name
weight
height
length
width
desi
quantity
price
type
code
packageNumber
List<object>
string
decimal
decimal
decimal
decimal
decimal
int
decimal
int
string
int

evet
evet
evet
evet
evet
hayır
hayır
hayır
hayır
hayır
hayır
Gönderilecek eşyanın detayları
Eşya adı
Ağırlık
Yükseklik
Uzunluk
Genişlik
Siparişe ait desi bilgisi
Sayı (varsayılan 1 adet)
Eşya tutarı (TL değeri)
Eşya tipi (0: Paket/Koli, 1: Evrak/Zarf, 2: Çuval, 4: Palet). Varsayılan değer : 0
Taşınacak ürüne ait kod
Paket Numarası (varsayılan değer 1)
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ı)
senderZipCode int? hayır Gönderici posta kodu
receiverZipCode int? hayır Alıcı posta kodu
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.

Hava Kargo Metotları

AirPrice Servisi

Hava Kargo taşıma talepleri için fiyat bilgisi döner. Fiyatlar girmiş olduğunuz ölçü bilgilerine ve alıcı Ülke kriterlerine göre değişebilir

Ölçüler; uzunluk CM cinsinden ve ağırlık ise GR cinsinden hesaplanacaktır

AirPrice Parametreleri – Hava Kargo için fiyat sorgulama servisi

Parametre Adı Tipi Zorunlu Açıklama
receiverCountry string evet Alıcı ülke. Ülke ismi Türkçe girilmeli (Gönderici ülke herzaman Türkiye'dir)
senderCity string evet Gönderici şehri
senderCounty string evet Gönderici ilçesi
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
Items
weight
height
length
width
quantity
packageNumber
List<object>
decimal
decimal
decimal
decimal
int
int

evet
evet
evet
evet
hayır
hayır
Gönderilecek eşyanın detayları
Ağırlık
Yükseklik
Uzunluk
Genişlik
Sayı (varsayılan 1 adet)
Paket Numarası (varsayılan değer 1)

Örnek HTTP Request - AirPrice;

Örnek HTTP Response - AirPrice;

            
  {
    "error": {
      "message": null
    },
    "isSuccess": true,
    "count": 0,
    "data": {
      "price": 79,
      "expressPrice": 93
    }
  }
            
          

Air Servisi

Hava Kargo taşıma talebi oluşturur. Item.Type parametresi = 1, yani 'Evrak/Zarf' ise Pice alanı zorunlu değildir.

Ölçüler; uzunluk CM cinsinden ve ağırlık ise GR cinsinden hesaplanacaktır

Hava Kargo Parametreleri – Hava Kargo için sipariş oluşturma servisi

Parametre Adı Tipi Zorunlu Açıklama
receiverCountry string evet Alıcı ülke. Ülke ismi Türkçe girilmeli (Gönderici ülke herzaman Türkiye'dir)
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
quantity
price
type
code
packageNumber
List<object>
string
decimal
decimal
decimal
decimal
int
decimal
type
string
int

evet
evet
evet
evet
evet
hayır
evet
hayır
hayır
hayır
Gönderilecek eşyanın detayları
Eşya adı
Ağırlık
Yükseklik
Uzunluk
Genişlik
Sayı (varsayılan 1 adet)
Eşya tutarı (TL değeri). Eğer Type: 1 ise zorunlu değil
Eşya tipi (0: Paket/Koli, 1: Evrak/Zarf, 2: Çuval, 4: Palet). Varsayılan değer : 0
Taşınacak ürüne ait kod
Paket Numarası (varsayılan değer 1)
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ı
senderCompany string evet Gönderici şirket bilgisi
receiverCompany string evet Alıcı şirket bilgisi
senderNote string hayır Gönderici notu (Maksimum 300 karakter olmalı)
receiverNote string hayır Alıcı notu (Maksimum 300 karakter olmalı)
senderZipCode int evet Gönderici posta kodu
receiverZipCode int evet Alıcı posta kodu
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)
currency string evet Eşya değerinin para birimi (sadece TRY, USD veya EUR olabilir)
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

Örnek HTTP Request - Air;

Örnek HTTP Response - Air;

              
  {
    "error": {
      "message": null
    },
    "isSuccess": true,
    "count": 0,
    "data": {
         "id": 268125,
         "price": 95,
         "referenceNumber": "1e9e74581642",
         "gelalBarcode": "202106145472803139",
         "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ı, “price“ alanında kullanılan fiyat 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
status int array hayır Siparişin durumları (çoklu sorgulama yapılabilir)
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,
        "createdDate": "2021-10-08T22:23:45",
        "shipmentDate": "2021-09-06T12:32:01",
        "deliveryTime": "2021-07-24T12:25:17",
        "transportTime": "2021-05-19T17:45:00",
        "transporterReadyTime": null,
        "pickupTime": "2021-09-06T13:25:01",
        "totalAmount": 42.0,
        "senderName": "Ahmet",
        "senderSurname": "Aksoy",
        "senderPhoneNumber": "5535555555",
        "senderCityId": 42,
        "senderCity": "İSTANBUL",
        "senderCountyId": 2049,
        "senderCounty": "ATAŞEHİR",
        "receiverName": "İsmail",
        "receiverSurname": "Recep",
        "receiverPhoneNumber": "5425555555",
        "receiverCityId": 34,
        "receiverCity": "İSTANBUL",
        "receiverCountyId": 1421,
        "receiverCounty": "KADIKÖY",
        "deliveredPerson": "Ahmet Aksoy",
        "price": 12.35,
        "paymentType": 7,
        "paymentTypeMessage": "Kapıda Nakit Ödeme",
        "paymentAmount": 0,
        "currency": "TRY",
        "isPickup": false,
        "totalItemCount": 1,
        "totalDesi": 3.2,
        "totalWeight": 3.1,
        "maxHeight": 20.0,
        "maxLength": 23.6,
        "maxWidth": 14.5
      },
      {
        "id":584,
        "referenceNumber":"asd1234",
        "referenceNumber2":null,
        "referenceNumber3":null,
        "status": 2,
        "statusMessage": "Taşınıyor",
        "gelalBarcode": "Teslim Edildi",
        "shipmentTrackingLink": "Teslim Edildi",
        "transportType": "Kargo",
        "transporterName": "Mustiko",
        "createdDate": "2021-10-08T22:23:45",
        "shipmentDate": "2021-09-06T12:32:01",
        "deliveryTime": "2021-07-24T12:25:17",
        "transportTime": "2021-05-19T17:45:00",
        "transporterReadyTime": null,
        "pickupTime": "2021-09-06T13:25:01",
        "totalAmount": 42.0,
        "senderName": "Ahmet",
        "senderSurname": "Aksoy",
        "senderPhoneNumber": "5535555555",
        "senderCityId": 42,
        "senderCity": "İSTANBUL",
        "senderCountyId": 2049,
        "senderCounty": "ATAŞEHİR",
        "receiverName": "İsmail",
        "receiverSurname": "Recep",
        "receiverPhoneNumber": "5425555555",
        "receiverCityId": 34,
        "receiverCity": "İSTANBUL",
        "receiverCountyId": 1421,
        "receiverCounty": "KADIKÖY",
        "deliveredPerson": "Ahmet Aksun",
        "price": 12.35,
        "paymentType": 0,
        "paymentTypeMessage": null,
        "paymentAmount": 0,
        "currency": "TRY",
        "isPickup": false,
        "totalItemCount": 1,
        "totalDesi": 3.2,
        "totalWeight": 3.1,
        "maxHeight": 20.0,
        "maxLength": 23.6,
        "maxWidth": 14.5
      }
    ]
  }
                
          

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": {
          "name":"Ahmet",
          "surName":"Çırak",
          "phoneNumber":5453584596,
          "city":"İSTANBUL",
          "county":null
          },
        "sender": {
          "name":"Ahmet",
          "surName":"Aksoy",
          "phoneNumber":5535555555,
          "city":"İSTANBUL",
          "county":"ATAŞEHİR"
          },
        "receiver": {
          "name":"İsmail",
          "surName":"Recep",
          "phoneNumber":5425555555,
          "city":"İSTANBUL",
          "county":"KADIKÖY"
          },
        "transporter": {
          "name":"Mu****a",
          "surName":"Y****z"
          }
      },
      "items": [
        {
          "quantity": 1,
          "width": 0,
          "height": 0,
          "length": 0,
          "weight": 1.5,
          "stuffName": "Ayakkabı",
          "desi": 0,
          "price": null,
          "type": "Paket/Koli",
          "desiM3": 0,
          "calculatedWeight": 0,
          "packageNumber": 1
        }
      ],
      "detail": {
        "id":584,
        "transportType": "Kargo",
        "status": 2,
        "isPartial": true,
        "shipmentDate": "2020-09-06T12:32:01",
        "deliveryTime": "2020-07-24T12:25:17",
        "pickupTime": "2020-07-24T12:25:17",
        "createdDate": "2020-09-06T13:25:01",
        "maxLength": 0,
        "maxHeight": 0,
        "maxWidth": 0,
        "totalDesi": 0,
        "totalWeight": 1,
        "senderNote": null,
        "receiverNote": null,
        "senderZipCode": null,
        "receiverZipCode": null,
        "referenceNumber":"asd1234",
        "referenceNumber2":null,
        "referenceNumber3":null,
        "transportTime":"2021-05-19T17:45:00",
        "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",
        "price": 12.35,
        "paymentType": 7,
        "paymentTypeMessage": "Kapıda Nakit Ödeme",
        "paymentAmount": 0,
        "isPickup": false,
        "totalItemCount": 1,
        "deliveredPerson": "Nilüfer Kara",
        "currency": "TRY",
        "notes": [
          {
              "createdDate": "2021-09-16T16:10:01",
              "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",
          "deliveredPerson": null,
          "shipmentTrackingLink": "https://dev.gelal.com/api/map/v1/map/202105077960956520",
          "transporterLocation": {
            "latitude": 42.2143,
            "longitude": 29.4352
          }
      }
  }
                
            

ShipmentBulkStatus Servisi

İlgili servis ShipmentStatus servisinin toplu versiyonudur. Parametre olarak array[] almaktadır. Max 50 sipariş durumu sorgulanır ve parametreden 50 nin üzerinde gelmesi durumunda sistem uyarı verecektir. Pagination yoktur. Servis parametreden gelen tekrarlanan elemanları dikkate almaz. Her Item için ya Id ya da ReferenceNumber alanlarından biri veya her ikisi dolu olmalıdı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 - ShipmentBulkStatus;

Örnek HTTP Response - ShipmentBulkStatus;

                
  {
    "error": {
      "message": null
    },
    "isSuccess" : true,
    "count": 2,
    "data": [
        {
            "data": {
                  "id": 37316,
                  "referenceNumber": "asd1234",
                  "status": 2,
                  "referenceNumber2": null,
                  "referenceNumber3": null,
                  "statusMessage": "Taşımacı Bekleniyor",
                  "gelalBarcode": "202105077960956520",
                  "deliveredPerson": null,
                  "shipmentTrackingLink": "https://dev.gelal.com/api/map/v1/map/202105077960956520",
                  "transporterLocation": {
                    "latitude": 42.2143,
                    "longitude": 29.4352
                  }
              },
            "error": null
        },
        {
            "data": {
                  "id": 37317,
                  "referenceNumber": "asd1235",
                  "status": 2,
                  "referenceNumber2": null,
                  "referenceNumber3": null,
                  "statusMessage": "Taşımacı Bekleniyor",
                  "gelalBarcode": "202105077960956560",
                  "deliveredPerson": null,
                  "shipmentTrackingLink": "https://dev.gelal.com/api/map/v1/map/202105077960956560",
                  "transporterLocation": {
                    "latitude": 42.2143,
                    "longitude": 29.4352
                  }
              },
            "error": null
        },
        {
            "data": {
                  "id": null,
                  "referenceNumber": "asd1236"
              },
            "error":  "Sipariş bulunamadı!"
        }
    ]
  }
                
            

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:25",
        "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:01",
        "status": 8,
        "statusMessage": "Teslim Edildi",
        "note": "Onay ilemi başarılı. SMS onay kodu: 6837"
      },
      {
        "createdDate": "2021-09-16T13:45:57",
        "status": 2,
        "statusMessage": "Taşınıyor",
        "note": null
      },
      {
        "createdDate": "2021-08-04T10:38:11",
        "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
  }
          
      

DefinedPrice Servisi

Tanımlı fiyat bilgilerini çeker

Örnek HTTP Request - DefinedPrice;

Response Parametre AdıTipiAçıklama
transportTypestringTaşıma tipi - Kurye, Kargo veya Nakliye
definedPriceTypestringTanımlı fiyat tipi - Parça Başı veya Adres Başı
fromCitystringNereden İl bilgisi
fromCountystringNereden İlçe bilgisi
toCitystringNereye İl bilgisi
toCountystringNereye İlçe bilgisi
maxDesidecimalİlgili adresler için gönderilecek Max Desi bilgisi. Eğer Create veya Price servislerinde gönderilen (veya hesaplanan) max desi bu alanı geçiyor ise ve additionalDesiPrice 0 ise fiyat bulunamadı hatası döner
immediatelyPricedecimalAcil (aynı gün) teslimat fiyatı
incidentallyPricedecimalNormal (ertesi gün) teslimat fiyatı
reshippingPricedecimal 2. kez dağıtıma çıkma fiyatı (KDV dahil)
additionalDesiPricedecimalEk Desi Fiyatı. Tanımlanan max desiyi aşması durumunda, artı desiler için hesaplanacak fiyat
isPickupboolFalse ise Dağıtım, True ise Toplama bilgisi

Örnek HTTP Response - DefinedPrice;

        
  {
    "error": {
      "message": null
    },
    "isSuccess": true,
    "count": 2,
    "data": [
      {
        "transportType": "Kurye",
        "definedPriceType": "Parça Başı",
        "fromCity": "İSTANBUL",
        "fromCounty": "Tüm İlçeler",
        "toCity": "İSTANBUL",
        "toCounty": "Tüm İlçeler",
        "maxDesi": 10,
        "immediatelyPrice": 15,
        "incidentallyPrice": 12,
        "reshippingPrice": 11,
        "additionalDesiPrice": 1,
        "isPickup": false
      },
      {
        "transportType": "Kargo",
        "definedPriceType": "Parça Başı",
        "fromCity": "İSTANBUL",
        "fromCounty": "Tüm İlçeler",
        "toCity": "İSTANBUL",
        "toCounty": "Tüm İlçeler",
        "maxDesi": 10,
        "immediatelyPrice": 12.85,
        "incidentallyPrice": 14.55,
        "reshippingPrice": 13.5,
        "additionalDesiPrice": 1,
        "isPickup": false
      }
    ]
  }
          
      

BlockedAreas Servisi

Tanımlı fiyat bilgileri için geçersiz olan İl ve İlçe bilgileri listesini çeker

Örnek HTTP Request - BlockedAreas;

Response Parametre AdıTipiAçıklama
citystringTaşımanın desteklenmediği İl bilgisi
countystringTaşımanın desteklenmediği İlçe bilgisi
districtstringTaşımanın desteklenmediği Mahalle bilgisi

Örnek HTTP Response - BlockedAreas;

        
  {
    "error": {
      "message": null
    },
    "isSuccess": true,
    "count": 2,
    "data": [
      {
        "city": "İSTANBUL",
        "county": "ŞİLE",
        "district": "HACI KASIM MAHALLESİ"
      },
      {
        "city": "İSTANBUL",
        "county": "ADALAR",
        "district": "KINALIADA MAHALLESİ"
      }
    ]
  }
          
      

Address Servisi

İlgili siparişin Adres, Gönderici ve Alıcı bilgilerini günceller ve fiyatı yeniden hesaplar. SenderInfo ve ReceiverInfo alanlarından birisi mutlaka dolu olmak zorunda. Servis sadece kullanıcı bilgileri (Name, Surname ve PhoneNumber) güncellemez. Eğer sadece kullanıcı bilgilerini güncellemek istiyorsanız adres bilgileri (City, County ve Address) ile birlikte göndermelisiniz Güncellenmeyecek alan(lar)ın NULL olması lazım.

Örnek HTTP Request - Address;

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
senderInfo object hayır Güncellenecek Gönderici bilgileri. Dolu olması halinde güncellenecektir
receiverInfo object hayır Güncellenecek Alıcı bilgileri. Dolu olması halinde güncellenecektir
name string hayır Gönderici veya Alıcı isim bilgisi. Dolu olması halinde güncellenecektir
surname string hayır Gönderici veya Alıcı soyad bilgisi. Dolu olması halinde güncellenecektir
phoneNumber string hayır Gönderici veya Alıcı telefon bilgisi. Dolu olması halinde güncellenecektir
city string evet Gönderici veya Alıcı İl bilgisi
county string evet Gönderici veya Alıcı İlçe bilgisi
address string evet Gönderici veya Alıcı Açık Adres bilgisi

Örnek HTTP Request - Address;

        
  {
    "id": 5133465,
    "referenceNumber": "asd1234",
    "senderInfo": {
      "name": null,
      "surname": null,
      "phoneNumber": null,
      "city": "İstanbul",
      "county": "Ataşehir",
      "address": "Örnek Mah mh Örnek cd 17/2"
    },
    "receiverInfo": {
      "name": "Ahmet",
      "surname": "Aksoy",
      "phoneNumber": "5553332211",
      "city": "İstanbul",
      "county": "Kadıköy",
      "address": "Çakmak Mah. Güzel Sokak No: 36"
    }
  }
          
      

Örnek HTTP Response - Address;

        
    {
      "error": {
        "message": null
      },
      "isSuccess": true,
      "count": 0,
      "data": {
          "price": 45.7 // Güncellenen Fiyat
      }
    }
          
      

Third Party Logistic (3PL)

3PL ShipmentDetail Servisi

Parametreden gelen değere ait bir siparişi kendi tarafınızda oluşturabilmek için gerekli olan siparişin bilgilerini getirir. Sadece Gelal tarafında taşınma durumuna müsait olan siparişler çekilir

Parametre Adı Tipi Zorunlu Açıklama
barcode string evet Siparişe ait barcode numarası

Örnek HTTP Request - 3PL ShipmentDetail;

Örnek HTTP Response - 3PL ShipmentDetail;

              
  {
    "error": {
      "message": null
  },
    "isSuccess":true,
    "count": 1,
    "data": {
      "userName":"Ahmet",
      "userSurname":"Çırak",
      "phoneNumber":5453584596,
      "city":"İSTANBUL",
      "county":null,
      "addressLine":"İstanbul, Beşİktaş, Zorlu Center",
      "zipCode": null,
      "note": null,
      "id":584,
      "gelalBarcode":"637540058781564510",
      "referenceNumber":"asd1234",
      "referenceNumber2":null,
      "referenceNumber3":null,
      "createdDate": "2020-09-06T13:25:01",
      "shipmentDate": "2020-09-06T12:32:01",
      "transportDate":"2021-05-19T17:45:00",
      "transporterReadyDate":null,
      "pickupDate": "2020-07-24T12:25:17",
      "totalPackageCount": 1,
      "totalDesi": 0,
      "totalWeight": 1,
      "maxLength": 0,
      "maxHeight": 0,
      "maxWidth": 0,
      "isPickup": false,
      "isPartial": true,
      "transportType": "Kargo",
      "tariffType":"Geçerken Gelal",
      "status": 2,
      "statusMessage":"Teslim Edildi",
      "distance":"30.57 KM",
      "shipmentTrackingLink":"https://dev.gelal.com/api/map/v1/map/637540058781564510",
      "items": [
        {
          "quantity": 1,
          "width": 0,
          "height": 0,
          "length": 0,
          "weight": 1.5,
          "stuffName": "Ayakkabı",
          "desi": 0,
          "price": null,
          "type": "Paket/Koli",
          "desiM3": 0,
          "calculatedWeight": 0,
          "packageNumber": 1
        }
      ]
    }
  }
              
          

3PL ShipmentUpdate Servisi

Siparişin transaction bilgilerini kaydeder ve siparişi parametreden gelen duruma günceller. Sadece zimmet alınan sipariş güncellenebilir

Parametre Adı Tipi Zorunlu Açıklama
barcode string evet Siparişe ait barcode numarası
status int evet Siparişin hangi duruma güncellenmesi gerektiğini belirtir.
1 - Taked (siparişin Gelal'dan zimmet alınması)
2 - Delivered (Alıcısına teslim edilmesi)
3 - UnDelivered (Herhangi bir şekilde teslim edilememesi)
note string hayır Taşımacı/Kurye notu (Maksimum 300 karakter olmalı). Eğer Status = 3 (UnDelivered) ise bu alan zorunlu
deliveredPerson string hayır Taşımacı/Kurye nin siparişi kime teslim etti bilgisi (Maksimum 300 karakter olmalı). Eğer Status = 2 (Delivered) ise bu alan zorunlu
latitude decimal hayır Taşımacı/Kurye nin işlem yaptığı yerin enlem konum bilgisi
longitude decimal hayır Taşımacı/Kurye nin işlem yaptığı yerin boylam konum bilgisi

Örnek HTTP Request - 3PL ShipmentUpdate;

              
  {
    "barcode": "asd1234",
    "status": 3,
    "note": "5 dk zile basarak kapıda bekledim ama açan olmadı. Telefon ile de ulaşılamadı",
    "deliveryPerson": "Ahmet Aksoy",
    "latitude": 37.05349038405113,
    "longitude": 27.235087779856908
  }
              
          

Örnek HTTP Response - 3PL ShipmentUpdate;

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