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.
Sunucu Adresini Al
GoPOS çok sunuculu (multi-tenant) bir mimaride çalışır; her mağaza kendi API sunucusunda barınır. Aşağıdaki kurye metotlarını çağırmadan önce, mağazanın API adresini storeGoId (mağaza GUID) değeri ile bu metottan öğrenmeniz gerekir. Diğer tüm istekler buradan dönen adrese gönderilmelidir. Değer düz bir JSON string olarak döner ve /api ekini içerir.
Bu istek merkezi GoPOS adresi https://api.gopos.com.tr üzerinden yapılır. Adresi mağaza başına bir kez çözümleyip saklamanız yeterlidir.
"https://srv1.gopos.com.tr/api"
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.
customerLatitude ve customerLongitude alanları müşteri adresinin teslimat koordinatlarını taşır; kurye yönlendirmesi için doğrudan kullanılabilir. Siparişe adres bağlanmamışsa veya adres kaydında koordinat yoksa bu iki alan null döner.
{
"data": [
{
"customerName": "Serhat Gezer",
"customerPhone": "05518597471",
"customerAddress": "Armutalan, Yunus Nadi Cd. Yaylalı Center No:20/117, 48000 Marmaris/Muğla",
"customerCity": null,
"customerDistrict": null,
"customerLatitude": 36.8557624,
"customerLongitude": 28.2550604,
"goposstatus": 1,
"couriername": "",
"id": 265,
"userid": 1,
"storeuserid": 0,
"storeid": 1,
"goid": "TuKjnAifJ0",
"daystartid": 11,
"areaid": 2,
"tableid": 0,
"paymenttypeid": 1,
"customerid": 10,
"note": "",
"ticketno": 9,
"openeddate": "2026-08-27T13:24:47.105762+03:00",
"closeddate": null,
"ticketguid": "7775687a-2b27-45e0-9acd-d520ac38a67d",
"ticketgroupguid": "",
"ticketgroupname": "A-1",
"ordertotal": 100.00,
"totalpayments": [],
"totaldiscounts": [],
"outstandingbalance": 0,
"paymentstatus": 0,
"saletype": 2,
"integrationtype": 1,
"products": [
{
"id": 571,
"userid": 1,
"storeuserid": 0,
"storeid": 1,
"goid": "",
"orderguid": "0c5e48c6-d680-464b-bdce-3e888032e96f",
"ticketguid": "7775687a-2b27-45e0-9acd-d520ac38a67d",
"insertdate": "2026-08-27T13:24:47.112284+03:00",
"updatedate": "2026-08-27T13:24:47.112284+03:00",
"orderid": 265,
"productid": 19,
"productname": "Sandviç",
"servingid": 22,
"servingname": "Normal",
"multipler": 1.000,
"price": 100.00,
"menuguid": "",
"menuname": "",
"menuid": 0,
"servicesorting": 0,
"unittype": 1,
"discounttotal": null,
"taxrate": 10.00,
"taxinclude": true,
"quantity": 1,
"ordertype": 0,
"orderstatus": 0,
"paymentstatus": 0,
"modifiers": []
}
],
"servicefee": []
}
],
"status": 100,
"success": true,
"message": null
}
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"
}
]
Canlı Test
Kendi mağaza GoId'iniz ile gerçek istek atabilirsiniz. Önce Adresi Çöz ile mağazanın API sunucusunu bulun, sonra metodu seçip isteği gönderin. Bu bölüm tarayıcınızdan doğrudan API'ye bağlanır; araya bir sunucu girmez. Girdiğiniz değerler yalnızca sizin tarayıcınızda (localStorage) saklanır.