Ana içeriğe geç

Yeni Sipariş Webhook

Platform'lardan gelen siparişler normalize edildikten sonra sizin tanımladığınız newOrderWebhookUrl adresine POST olarak iletilir.

İstek Formatı

POST {sizin-webhook-url} HTTP/1.1
Content-Type: application/json
X-MuditaPOS-Customer-Id: <customer-id>
X-MuditaPOS-Signature: <hmac-sha256>
X-MuditaPOS-Timestamp: <unix-ts>

Sipariş JSON Yapısı

{
  "id": "f47ac10b-58cc-4372-a567-0e02b2c3d479",
  "customerId": "a1b2c3d4-...",
  "integrationId": "e5f6g7h8-...",
  "provider": "GETIR",
  "providerOrderId": "63a1b2c3d4e5f6",
  "providerRestaurantId": "rest-123",

  "status": "RECEIVED",

  "customerName": "Ahmet Yılmaz",
  "customerPhone": "+905551112233",
  "customerAddress": "Atatürk Mah. Cumhuriyet Cad. No:15/3",
  "customerAddressDetail": "Beyaz apartman, 3. kat",
  "latitude": 41.0082,
  "longitude": 28.9784,

  "totalAmount": 245.50,
  "discountAmount": 20.00,
  "deliveryFee": 9.99,
  "netTotal": 235.49,

  "paymentMethod": "ONLINE",
  "note": "Kapıyı çalın lütfen",
  "isPickup": false,
  "isScheduled": false,
  "scheduledAt": null,
  "deliveryType": 1,

  "providerCreatedAt": "2025-05-04T10:15:00Z",
  "createdAt": "2025-05-04T10:15:02Z",

  "items": [
    {
      "id": "item-uuid-1",
      "name": "Karışık Pizza (Büyük)",
      "quantity": 1,
      "unitPrice": 189.00,
      "totalPrice": 189.00,
      "externalId": "prod-456",
      "note": "Acılı olsun",
      "options": [
        { "name": "Ekstra Peynir", "price": 25.00 },
        { "name": "Mantar", "price": 15.00 }
      ]
    },
    {
      "id": "item-uuid-2",
      "name": "Coca Cola 330ml",
      "quantity": 2,
      "unitPrice": 25.00,
      "totalPrice": 50.00,
      "externalId": "prod-789",
      "options": []
    }
  ]
}

Alan Açıklamaları

Sipariş Alanları

Alan Tip Zorunlu Açıklama
id UUID MuditaPOS tarafından atanan benzersiz sipariş ID
provider string Kaynak platform (bkz. aşağı)
providerOrderId string Platformun kendi sipariş ID'si
providerRestaurantId string Platformdaki restoran kimliği
status string Daima RECEIVED gelir
customerName string Sipariş veren müşteri adı
customerPhone string Müşteri telefonu
customerAddress string Teslimat adresi
customerAddressDetail string Ek adres detayı (kat, daire vb.)
latitude float Enlem
longitude float Boylam
totalAmount float Toplam tutar
discountAmount float İndirim tutarı
deliveryFee float Teslimat ücreti
netTotal float Net tutar
paymentMethod string ONLINE, CASH, CREDIT_CARD
note string Müşteri notu
isPickup bool Gel-al siparişi mi?
isScheduled bool İleri tarihli sipariş mi?
scheduledAt datetime Planlanan teslim zamanı

Ürün Alanları

Alan Tip Açıklama
name string Ürün adı
quantity int Adet
unitPrice float Birim fiyat
totalPrice float Toplam (adet × birim)
externalId string Platformdaki ürün ID'si
note string Ürün notu
options array Ek seçenekler/ekstralar

Provider Değerleri

Provider Platform
GETIR Getir Yemek
YEMEKSEPETI Yemeksepeti
TRENDYOL_GO Trendyol GO
MIGROS_YEMEK Migros Yemek
GETIR_SU Getir Su
SEPETTAKIP SepetTakip
YEMEK_POS Internal POS

Yanıt

Webhook'u başarıyla aldığınızda HTTP 200 döndürmeniz yeterlidir:

{
  "status": "received"
}

200 Döndürün!

200 dışındaki herhangi bir yanıt kodu retry mekanizmasını tetikler. Sipariş işleme hatanız olsa bile 200 döndürüp kendi tarafınızda hata yönetimi yapın.

Mükerrer Kontrol

Aynı providerOrderId ile gelen mükerrer siparişler MuditaPOS tarafından otomatik olarak filtrelenir. Sizin endpoint'inize aynı sipariş tekrar gönderilmez.

Yine de ek güvenlik için kendi tarafınızda da providerOrderId'ye göre mükerrer kontrolü yapmanızı öneririz.