OutsourceOrder ve OutsourceOrderProduct modelleri, dış POS (Point of Sale) şirketlerinin sipariş yönetim sistemleri ile entegre edilmesi için kullanılır.
Bu doküman, bu modellerin yapısını ve her bir özelliğin açıklamasını içerir. Amaç, sistemler arasında sipariş detaylarının sorunsuz şekilde paylaşılmasını sağlamaktır.
POST https://api.hesapkurye.com/OutSource/check-credential
Bu API restorandan aldığınız ApiKey, ApiSecret ve RestaurantID bilgilerinin doğruluğunu kontrol etmek için kullanılır.
Aşağıda, POST isteği ile body üzerinden gönderilecek JSON formatı:
{
"ApiKey": "ABCDEFG1234567",
"ApiSecret": "XYZSECRET123",
"RestaurantID": "RESTAURANT123"
}
ApiKey, ApiSecret veya RestaurantID.POST http://api.hesapkurye.com/OutSource/SavePackage
| Özellik Adı | Tip | Açıklama | ||
|---|---|---|---|---|
| ApiKey | string | ApiKey değeri için Restoran panelinde "Diğer Dış Kaynak POS" alanından bilgileri alabilirsiniz. | ||
| ApiSecret | string | ApiSecret değeri için Restoran panelinde "Diğer Dış Kaynak POS" alanından bilgileri alabilirsiniz. | ||
| OutSourceID | int |
POS şirketinin sistemdeki benzersiz ID değeri. Kabul edilen değerler:
|
||
| RestaurantID | string | Restoranın sistemdeki RestaurantID değeri. Restoran panelinde "Diğer Dış Kaynak POS" alanından bilgileri alabilirsiniz. | ||
| RemoteOrderNumber | string | Siparişin benzersiz ID numarası. | ||
| Address | string | Siparişin teslim edileceği adres. | ||
| AddressDetail | string | Adresle ilgili ek bilgiler. | ||
| Latitude | string | Teslimat yerinin enlem bilgisi. | ||
| Longitude | string | Teslimat yerinin boylam bilgisi. | ||
| PackageType | string |
Paketin tipi. Kabul edilen değerler: "Yemeksepeti", "Trendyol Yemek", "Getir Yemek", "Migros Yemek", "Diğer", "Yemeksepeti Market", "Trendyol Market", "Getir Market", "Migros Market", "Diğer Market" |
||
| PaymentMethodId | int | Ödeme yöntemlerinin sistemdeki karşılığı gönderilmelidir. Bu değerleri 'Ödeme Yöntemleri Listesinin Alınması' başlığı altında belirtilen endpointe istek atarak alabilirsiniz. Almanız gereken değer: PaymentMethod | ||
| PaymentMethod | string | Ödeme yöntemlerinin sistemdeki karşılığı gönderilmelidir. Bu değerleri 'Ödeme Yöntemleri Listesinin Alınması' başlığı altında belirtilen endpointe istek atarak alabilirsiniz. Almanız gereken değer: PaymentName | ||
| PackagePrice | decimal | Paketin toplam tutarı. | ||
| OrderNote | string | Sipariş ile ilgili ek notlar. | ||
| CustomerName | string | Siparişi veren müşterinin adı. | ||
| CustomerPhone | string | Müşterinin telefon numarası. | ||
| CreateDate | string | Paketin oluşturulma tarihi. | ||
| TargetDate | string | Siparişin beklenen teslim tarihi. | ||
| PrepareTime | int | Siparişin hazırlanma süresi (dakika). | ||
| IsFutureOrder | bool | Sipariş ileri tarihli bir sipariş ise "true", değilse "false" gönderilmelidir. | ||
| IsPickUpOrder | bool | Gel al siparişi ise "true", değilse "false" gönderilmelidir. | ||
| Products | List<OutsourceOrderProduct> | Siparişin ürünleri. Bu ürünler OutsourceOrderProduct modeli ile temsil edilir. |
| Özellik Adı | Tip | Açıklama |
|---|---|---|
| quantity | decimal | Ürünün adedi. |
| unitPrice | decimal | Ürünün birim fiyatı. |
| productName | string | Ürünün adı. |
| productOptions | string | Ürün için girilen opsiyon bilgisi. String hale getirilip gönderilmesi beklenir. |
| productNote | string | Ürünle ilgili notlar. |
| totalAmount | decimal | Ürünün toplam tutarı. |
Aşağıda, POST isteği ile body üzerinden gönderilecek JSON formatı:
{
"ApiKey":"JvaXPFXAQEqf7X5XegRxLw==",
"ApiSecret":"92utiyfmPeXDSjHv8RiJ6w==",
"RestaurantID": "ifLpIWj5WiOmp1Gm1H+uqQ==",
"RemoteOrderNumber": "sample string v2",
"Address": "sample string 0001",
"AddressDetail": "sample string 0001",
"Latitude": "38.6902",
"Longitude": "35.5450",
"PackageType": "sample string 9",
"PaymentMethodId": 1,
"PaymentMethod": "sample string 10",
"PackagePrice": 11.0,
"OrderNote": "sample string 13",
"CustomerName": "sample string 14",
"CustomerPhone": "sample string 15",
"CreateDate": "2024-10-25 11:55",
"TargetDate": "2024-10-25 13:00",
"PrepareTime": 10,
"IsFutureOrder": false,
"IsPickUpOrder": false,
"Products": [
{
"quantity": 1.0,
"unitPrice": 2.0,
"productName": "sample string 3",
"productNote": "sample string 4",
"totalAmount": 5.0
},
{
"quantity": 1.0,
"unitPrice": 2.0,
"productName": "sample string 3",
"productNote": "sample string 4",
"totalAmount": 5.0
}
]
}
POST http://api.hesapkurye.com/OutSource/GetPaymentMethods
Bu endpoint, ApiKey ve ApiSecret bilgileri ile veritabanından ödeme yöntemi bilgilerini alır. Paketinizi kaydederken buradan aldığınız PaymentMethod ve PaymentName bilgisini göndermelisiniz.
Aşağıda, POST isteği ile body üzerinden gönderilecek JSON formatı:
{
"ApiKey": "ABCDEFG1234567",
"ApiSecret": "XYZSECRET123"
}
Başarılı bir istekte, aşağıdaki gibi bir JSON formatında yanıt döner:
{
"PaymentMethod": 7,
"PaymentName": "Kapıda Nakit",
}
ApiKey veya ApiSecret.POST http://api.hesapkurye.com/OutSource/GetPackage
Bu API, belirli bir ApiKey, ApiSecret, remoteOrderNumber ve RestaurantID bilgileri ile veritabanından paket bilgilerini alır. Paket bilgileri, müşteri bilgileri, teslimat adresi, ürün detayları ve sipariş notlarını içerir.
Aşağıda, POST isteği ile body üzerinden gönderilecek JSON formatı:
{
"ApiKey": "ABCDEFG1234567",
"ApiSecret": "XYZSECRET123",
"remoteOrderNumber": "987654321",
"RestaurantID": "RESTAURANT123"
}
Başarılı bir istekte, aşağıdaki gibi bir JSON formatında yanıt döner:
{
"PackageID": 1,
"OutSourceID": 1,
"StatusValue": "Yanıt int olarak dönecektir:
1 (Sipariş oluşturuldu),
2 (Sipariş hazırlanıyor),
3 (Sipariş kuryeye atandı),
4 (Kurye siparişi kabul etti),
5 (Kurye siparişi reddetti),
6 (Sipariş teslimata çıktı),
7 (Sipariş müşteriye doğru yola çıktı),
8 (Sipariş teslim edildi),
9 (Sipariş iptal edildi)
",
"Status": "Dönebilecek yanıtlar:
Sipariş oluşturuldu,
Sipariş hazırlanıyor,
Sipariş kuryeye atandı,
Kurye siparişi kabul etti,
Kurye siparişi reddetti,
Sipariş teslimata çıktı,
Sipariş müşteriye doğru yola çıktı,
Sipariş teslim edildi,
Sipariş iptal edildi
",
"RestaurantID": 456,
"RemoteOrderNumber": "987654321",
"Address": "Örnek Adres",
"AddressDetail": "Adres Detayları",
"Latitude": "38.9637",
"Longitude": "35.2433",
"PackageType": "Yemek Teslimatı",
// Sipariş kaydedilirlen gelen ilk ödeme yöntemi bilgisidir.
"PaymentMethod": "1",
"PaymentMethodString": "Kredi Kartı",
"PackagePrice": 50.75,
"CreateDate": "2024-10-05T10:00:00",
"OrderNote": "Kapıya bırakın",
"CourierName": "John Doe",
"CustomerName": "John Doe",
"CustomerPhone": "5551234567",
"TargetDate": "2024-10-05T10:45:00",
"IsFutureOrder": false,
"IsPickUpOrder": false,
"Products": [
{
"productName": "Burger",
"unitPrice": 25.00,
"quantity": 2,
"totalAmount": 50.00
}
],
// Siparişin ödemesi alınırken ödeme yöntemi değişebilir veya parçalı ödeme alınabilir.
// Bu alan paketin teslim edildikten sonraki son ödeme yöntemi bilgisini döner.
"LastPackagePayments": [
{
"PaymentMethod": 1,
"PaymentMethodString": "sample string",,
"Price": 2.0
},
{
"PaymentMethod": 1,
"PaymentMethodString":"sample string",,
"Price": 2.0
}
]
}
ApiKey veya ApiSecret.POST http://api.hesapkurye.com/OutSource/Cancel
Bu API, belirli bir ApiKey, ApiSecret, remoteOrderNumber, RestaurantID ve Reason parametreleri ile gönderilen paketi iptal eder.
İptal edilen paket, veritabanında durumu değiştirilir ve ilgili taşıyıcıya iptal durumu bildirilir.
Aşağıda, POST isteği ile body üzerinden gönderilecek JSON formatı:
{
"ApiKey": "ABCDEFG1234567",
"ApiSecret": "XYZSECRET123",
"remoteOrderNumber": "987654321",
"RestaurantID": "RESTAURANT123",
"OutSourceID": 1,
"Reason": "Müşteri talebi"
}
Başarılı bir istekte, API aşağıdaki gibi bir yanıt döner:
{
"message": "Paket iptal edildi."
}
ApiKey, ApiSecret veya RestaurantID.POST https://api.hesapkurye.com/OutSource/RestaurantInfos
Bu API restoran kullanıcısının Kullanıcı Adı ve Şifresi ile kullanılacak RestaurantID, ApiKey ve ApiSecret bilgilerini döner.
Aşağıda, POST isteği ile body üzerinden gönderilecek JSON formatı:
{
"ProjectID": 3, //Hesap Kurye: 3, Bk Express: 4
"UserName": "abc",
"Password": "xyz",
}