Arama kriterlerinize uygun sonuç bulunamadı.

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

GET https://api.gopos.com.tr/v2/auth/get-url/{storeGoId}

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.

Örnek Cevap (200 OK)
"https://srv1.gopos.com.tr/api"

Yeni Sipariş Bildirimi (Size Yapılan İstek)

POST /webhook/order/new

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)
Örnek Webhook Gelen (JSON)
{
  "ticketGuId": "123e4567-e89b-12d3-a456-426614174000",
  "storeGuId": "HERE_BE_GUID",
  "currentOrderStatus": 0,
  "webhookActionType": 1
}

Siparişi Getir

GET /webhook/get/{ticketGuId}/{storeGoId}

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.

Örnek Cevap (200 OK - JSON)
{
  "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

POST /webhook/accept/{storeGoId}

Kuryenin atanan siparişi kabul ettiğini GoPOS sistemine bildirir.

Örnek İstek Gövdesi (JSON)
{
  "ticketGuId": "123e4567-e89b-12d3-a456-426614174000"
}

Siparişi Reddet

POST /webhook/reject/{storeGoId}

Kuryenin siparişi teslim almayı reddettiğini veya iptal ettiğini bildirir. Bir iptal nedeni (RejectionReasonId) gönderilmesi zorunludur.

Örnek İstek Gövdesi (JSON)
{
  "ticketGuId": "123e4567-e89b-12d3-a456-426614174000",
  "rejectionReasonId": "REASON_01"
}

Yola Çıktı (Teslim Alındı)

POST /webhook/pick-up/{storeGoId}

Kuryenin siparişi restorandan/şubeden teslim aldığını ve müşteriye doğru yola çıktığını bildirir.

Örnek İstek Gövdesi (JSON)
{
  "ticketGuId": "123e4567-e89b-12d3-a456-426614174000"
}

Teslim Edildi (Tamamlandı)

POST /webhook/complete/{storeGoId}

Siparişin müşteriye başarıyla teslim edildiğini bildirir. Eğer siparişte ödeme kapıda alındıysa goPaymentId gönderilmelidir.

Örnek İstek Gövdesi (JSON)
{
  "ticketGuId": "123e4567-e89b-12d3-a456-426614174000",
  "goPaymentId": 1
}

İptal Nedenleri

GET /webhook/get-rejection-reasons/{storeGoId}

Siparişi reddederken kullanılabilecek geçerli sebep kodlarını listeler. Dönen rejectionReasonId değeri Siparişi Reddet metodunda kullanılır.

Örnek Cevap (200 OK - JSON)
[
  {
    "rejectionReasonId": "R_KAZA",
    "rejectionReasonDescription": "Kurye kaza yaptı / Motor arızası"
  }
]

Ödeme Tipleri

GET /webhook/get-payment-types/{storeGoId}

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.

Örnek Cevap (200 OK - JSON)
[
  {
    "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.

Mağaza GoId girilmedi.
Adresi Çöz ile otomatik doldurulur, elle de girebilirsiniz.
GET
İstek gönderilemedi hatası alıyorsanız istek sunucuya hiç ulaşmamış demektir: adres yanlış olabilir, API kapalı olabilir ya da tarayıcı CORS engeline takılmış olabilir. Sunucuya ulaşıldığında — GoId yanlış olsa bile — gerçek bir HTTP kodu (401, 400 gibi) görürsünüz. POST metotları siparişin durumunu gerçekten değiştirir; canlı mağazada dikkatli kullanın.