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.

Base URL Sorgulama (Kök Adres)

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

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.

Örnek Cevap (200 OK - JSON)
"https://server1.gopos.com.tr"

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.

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

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"
  }
]