Gönderi güncelleme ve teklifleri alma

Gönderi güncelleme ve teklifleri alma #

Daha önce oluşturulmuş bir gönderinin boyut ve ağırlığını hem güncelleyecek hem de o gönderiye teklifleri alabileceksiniz. Bunun için /shipments endpoint’ine PATCH isteği göndermelisiniz. Detaylar için API Referans dökümanına bakın.

Örnek İstek #


curl --request PATCH \
  --url http://api.geliver.io/api/v1/shipments/2381e99d-54b4-487b-a87f-a253ca789104 \
  --header 'Authorization: Bearer cb611162-541f-4fb3-a353-586e2013fb31' \
  --header 'Content-Type: application/json' \
  --data '{
	{
        "distanceUnit": "cm",
        "length": 10,
        "height": 10,
        "width": 10,
    }
	},
}'
Parametreler Açıklama
length Kargo gönderisi uzunluğu. Varsayılan olarak cm cinsinden. Uzunluk ölçüsünü distanceUnit alanıyla değiştirebilirsiniz. Detaylar için lütfen API Referans Dökümanını inceleyin
height Kargo gönderisi yüksekliği. Varsayılan olarak cm cinsinden. Uzunluk ölçüsünü distanceUnit alanıyla değiştirebilirsiniz. Detaylar için lütfen API Referans Dökümanını inceleyin
width Kargo gönderisi genişliği. Varsayılan olarak cm cinsinden. Uzunluk ölçüsünü distanceUnit alanıyla değiştirebilirsiniz. Detaylar için lütfen API Referans Dökümanını inceleyin
distanceUnit Kargo gönderisi uzunluk cinsi. Varsayılan olarak “cm” değerindedir. Detaylar için lütfen API Referans Dökümanını inceleyin
weight Kargo gönderisi ağırlığı. Varsayılan olarak kg cinsinden. Uzunluk ölçüsünü massUnit alanıyla değiştirebilirsiniz. Detaylar için lütfen API referans dökümanını inceleyin
massUnit Kargo gönderisi ağırlık cinsi. Varsayılan olarak “kg” değerindedir. Detaylar için lütfen API Referans Dökümanını inceleyin

Cevap #

Gönderi güncelleme isteğine cevap aşağıdaki gibidir. Cevaptaki offers alanından teklifleri alabilirsiniz.

{
    "result": true,
    "additionalMessage": "Success",
    "data": {
        "id": "fad42868-997c-45ca-b638-5cdf89c0dd05",
        "createdAt": "2021-11-22T16:41:37.275094+03:00",
        ...
        "statusCode": "GOT_OFFERS",
        "offers": {
            "createdAt": "2021-11-22T16:41:37.288005+03:00",
            "updatedAt": "2021-11-22T16:41:37.288005+03:00",
            "cheapest": {
                "id": "58f3d9f2-8603-452d-861c-f5ce9e1e47b0",
                "createdAt": "2021-11-22T16:41:37.293812+03:00",
                "amount": "7.7",
                "currency": "TL",
                "amountLocal": "7.7",
                "currencyLocal": "TL",
                "providerCode": "YURTICI",
                "providerServiceCode": "YURTICI_STANDART",
                "averageEstimatedTime": 259122000000000,
                "durationTerms": "",
                "rating": 0,
                "isAccepted": false
            },
            "fastest": {
                "id": "91cec84a-2145-458b-96e2-54d099a55689",
                "createdAt": "2021-11-22T16:41:37.291221+03:00",
                "amount": "9.9",
                "currency": "TL",
                "amountLocal": "9.9",
                "currencyLocal": "TL",
                "providerCode": "YURTICI",
                "providerServiceCode": "YURTICI_STANDART",
                "averageEstimatedTime": 108136000000000,
                "durationTerms": "",
                "rating": 0,
                "isAccepted": false
            },
            "list": [
                {
                    "id": "91cec84a-2145-458b-96e2-54d099a55689",
                    "createdAt": "2021-11-22T16:41:37.291221+03:00",
                    "amount": "9.9",
                    "currency": "TL",
                    "amountLocal": "9.9",
                    "currencyLocal": "TL",
                    "providerCode": "YURTICI",
                    "providerServiceCode": "YURTICI_STANDART",
                    "averageEstimatedTime": 108136000000000,
                    "durationTerms": "",
                    "rating": 0,
                    "isAccepted": false
                },
                {
                    "id": "58f3d9f2-8603-452d-861c-f5ce9e1e47b0",
                    "createdAt": "2021-11-22T16:41:37.293812+03:00",
                    "amount": "7.7",
                    "currency": "TL",
                    "amountLocal": "7.7",
                    "currencyLocal": "TL",
                    "providerCode": "YURTICI",
                    "providerServiceCode": "YURTICI_STANDART",
                    "averageEstimatedTime": 259122000000000,
                    "durationTerms": "",
                    "rating": 0,
                    "isAccepted": false
                },
                {
                    "id": "4a56e1cf-81f2-442a-94b1-9b8533a0584e",
                    "createdAt": "2021-11-22T16:41:37.295344+03:00",
                    "amount": "13.75",
                    "currency": "TL",
                    "amountLocal": "13.75",
                    "currencyLocal": "TL",
                    "providerCode": "YURTICI",
                    "providerServiceCode": "YURTICI_STANDART",
                    "averageEstimatedTime": 186993000000000,
                    "durationTerms": "",
                    "rating": 0,
                    "isAccepted": false
                }
            ],
            "percentageCompleted": 100,
            "totalOffersRequested": 3,
            "totalOffersCompleted": 3,
            "allowOfferFallback": false
        },
        "acceptedOffer": null,
        "enableAutomation": false,
        "extra": null
    }
}

Parametreler Açıklama
result İsteğin başarılı olup olmadığını belirtir. true ise başarılıdır.
data Oluşturulan gönderinin kaydı.
code Eğer istek başarısız ise burada hata kodu bulunur
message Eğer istek başarısız ise burada hata mesajı bulunur
additionalMessage Sadece test ortamı için geçerli olan detaylı hata mesajı
data.id Yeni oluşturulan gönderinin id’si.
data.statusCode Gönderi durumu. Bu aşamada “GOT_OFFERS” yani teklifler alındı olacak. Sonraki aşama olan Ödeme yapma aşamasında bu değişecektir.
data.offers Gönderiye yapılan teklifler. Anlık olarak oluşturulmaktadır. Tamamlanan teklif yüzdesini percentageCompleted alanından takip edebilirsiniz.
data.offers.percentageCompleted Tekliflerin tamamlanan yüzdesi. 100 ise tüm teklifler alınmıştır. Eğer 100 değilse /shipments/{id} ile tekrar çağrı yapabilirsiniz. Detaylar için lütfen API referans dökümanını inceleyin.
data.offers.totalOffersCompleted Alınan toplam teklif sayısı.
data.offers.list Alınan tüm teklifleri bu alanda fiyatlarıyla görebilirsiniz.
data.offers.list.id Tekliflerin her birinin id’sidir. İstediğiniz ödemeyi kabul etmek için ödeme adımında id alanına ihtiyacınız olacak.
data.offers.list.amount Tekliflerin her birinin fiyatı.
data.offers.list.currency Tekliflerin her birinin para birimi kısaltması.
data.offers.cheapest Alınan en ucuz teklif. Bu teklifi kabul etmek için, teklifin id alanına ihtiyacınız olacak. Amount ve currency bilgisi tüm tekliflerdeki gibi bulunmakta.
data.offers.fastest Alınan en hızlı teslimat yapabilecek teklif. Bu teklifi kabul etmek için, teklifin id alanına ihtiyacınız olacak. Amount ve currency bilgisi tüm tekliflerdeki gibi bulunmakta
Hata kodları Açıklama
E1054 Gönderi parse edilemedi. İsteğin yanlış olduğunu belirtir.
E1055 Bu işlemi yapmaya yetkiniz yok.
E1053 Organizasyon bulunamadı
E1073 Gönderi güncellenemedi
E1051 Güncellenecek gönderi bulunamadı
E1058 Gönderi kaydedilemedi