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:
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.