Kurye Entegrasyonu
Bu API dokümantasyonu, dış kurye firmalarının GoPOS sistemi ile haberleşerek sipariş durumlarını güncellemesini sağlar. İstekler mağazayı tanımlayan storeGoId parametresi ile yapılmalıdır.
Base URL Sorgulama (Kök Adres)
Diğer API metodlarına (Siparişi Kabul Et, Teslim Edildi vb.) istek atmadan önce, ilgili mağazanın (storeGuId) bağlı olduğu doğru sunucu adresini bu metot ile öğrenmelisiniz. Dönen adresi sonraki isteklerinizde kök URL olarak kullanmalısınız.
"https://server1.gopos.com.tr"
Yeni Sipariş Bildirimi (Size Yapılan İstek)
GoPOS sistemi, kuryeye atanacak yeni bir sipariş oluştuğunda kurye tarafındaki API'nizde açacağınız bu endpoint'e bildirim gönderir. Güvenlik ve doğrulama için, gelen istekteki storeGuId parametresinin sizin sisteminizdeki mağaza GoId değeri ile eşleştiğini kontrol etmeniz zorunludur.
Aşağıdaki örnekteki Enum (int) değerlerinin karşılıkları şöyledir:
- CurrentOrderStatus:
0(Created),1(Accepted),2(InDelivery),3(Completed),4(Cancelled) - WebhookActionType:
0(None),1(OrderCreated),2(OrderUpdated),3(OrderRejected)
{
"ticketGuId": "123e4567-e89b-12d3-a456-426614174000",
"storeGuId": "HERE_BE_GUID",
"currentOrderStatus": 0,
"webhookActionType": 1
}
Siparişi Getir
Belirtilen bilete (siparişe) ait detayları getirir. Kurye firması siparişi üstlendiğinde detayları bu endpoint üzerinden sorgulayabilir.
Aşağıdaki örnekteki Enum (int) değerlerinin karşılıkları şöyledir:
- SaleType:
0(Pos),1(Integration),2(Takeaway),3(FastSale),4(QrMenu) - OrderType:
0(Sales),1(Treats),2(Returns) - OrderStatus:
0(New),1(Approved),2(Prepared),3(Delivered),4(Completed),5(Cancelled) - PaymentStatus:
0(New),1(Waiting),2(Paid) - IntegrationType:
0(Goposweb),1(Gopospaket),2(Yemeksepeti),3(GetirYemek),4(TrendyolYemek),5(MigrosYemek),6(FeedMe)
{
"status": 200,
"success": true,
"data": {
"customerName": "Serhat Gezer",
"customerPhone": "05321234567",
"customerAddress": "Tepe Mah. Kordon Cad. No: 1 D: 2",
"customerCity": "Muğla",
"customerDistrict": "Marmaris",
"latitude": 36.8523,
"longitude": 28.2741,
"goPosStatus": 1,
"courierName": null,
"id": 15042,
"userId": 1,
"storeUserId": 101,
"storeId": 5,
"goId": "M-005",
"areaId": 2,
"tableId": 0,
"paymentTypeId": 1,
"customerId": 850,
"note": "Lütfen zile basmayın.",
"ticketNo": 1024,
"openedDate": "2026-06-14T14:30:00+03:00",
"closedDate": null,
"ticketGUID": "123e4567-e89b-12d3-a456-426614174000",
"ticketGroupGUID": null,
"ticketGroupName": null,
"orderTotal": 350.00,
"paymentStatus": 0,
"saleType": 2,
"integrationType": 2,
"products": [
{
"id": 5401,
"orderId": 15042,
"productId": 200,
"productName": "Double Cheeseburger Menü",
"servingId": 1,
"servingName": "Porsiyon",
"multipler": 1.0,
"price": 350.00,
"quantity": 1,
"taxRate": 10.0,
"taxInclude": true,
"orderType": 0,
"orderStatus": 1,
"paymentStatus": 0,
"modifiers": [
{
"id": 100,
"orderId": 15042,
"orderProductId": 5401,
"modifierId": 50,
"modifierName": "Ekstra Turşu",
"price": 0.00,
"quantity": 1,
"orderType": 0,
"taxRate": 10.0,
"taxInclude": true
}
]
}
],
"serviceFee": [],
"totalPayments": [],
"totalDiscounts": []
}
}
Siparişi Kabul Et
Kuryenin atanan siparişi kabul ettiğini GoPOS sistemine bildirir.
{
"ticketGuId": "123e4567-e89b-12d3-a456-426614174000"
}
Siparişi Reddet
Kuryenin siparişi teslim almayı reddettiğini veya iptal ettiğini bildirir. Bir iptal nedeni (RejectionReasonId) gönderilmesi zorunludur.
{
"ticketGuId": "123e4567-e89b-12d3-a456-426614174000",
"rejectionReasonId": "REASON_01"
}
Yola Çıktı (Teslim Alındı)
Kuryenin siparişi restorandan/şubeden teslim aldığını ve müşteriye doğru yola çıktığını bildirir.
{
"ticketGuId": "123e4567-e89b-12d3-a456-426614174000"
}
Teslim Edildi (Tamamlandı)
Siparişin müşteriye başarıyla teslim edildiğini bildirir. Eğer siparişte ödeme kapıda alındıysa goPaymentId gönderilmelidir.
{
"ticketGuId": "123e4567-e89b-12d3-a456-426614174000",
"goPaymentId": 1
}
İptal Nedenleri
Siparişi reddederken kullanılabilecek geçerli sebep kodlarını listeler. Dönen rejectionReasonId değeri Siparişi Reddet metodunda kullanılır.
[
{
"rejectionReasonId": "R_KAZA",
"rejectionReasonDescription": "Kurye kaza yaptı / Motor arızası"
}
]
Ödeme Tipleri
Teslimat sırasında kullanılan ödeme tiplerini ve ID'lerini listeler. Dönen id değeri Teslim Edildi metodunda goPaymentId olarak kullanılır.
[
{
"id": 1,
"name": "Nakit"
}
]