# Uber Eats — Test İşletmesi Bilgileri

Uber Global Tech Support tarafından oluşturulan **sandbox test hesabı** kullanıma hazır.

> **2026-09-11:** Eski test mağazası (`753a73d8-…`, Mudanya/Bursa) devre dışı; GTS yeni mağazayı
> `6T0ZpaX9l6tfxIHCSJnARAClTSIciuZt` client ID'sine entegre etti. Webhook teslimatı ancak bu
> **app-level entegrasyondan sonra** başladı (bkz. `tasks/paket-servis-pos-eslestirme.md` 5.2.2).

## İşletme Detayları

| Alan             | Değer                                         |
| ---------------- | --------------------------------------------- |
| Partner          | Lakeside Restaurant                           |
| Hesap Tipi       | Restaurant                                    |
| Login            | `dev+teststore@ugurkaragoz.com`               |
| Password         | `b5%;K:uI28Q/`                                |
| Adres            | Paasbergpad 1, 1105 AH Amsterdam, Netherlands |
| **Store ID**     | `a92dda92-5636-4ba9-b7e5-585817f8a308`        |
| Org UUID         | `557f86db-9e7e-45ee-a5e6-85b4698fe5d3`        |
| Tenancy          | `uber/testing/eats.test`                      |
| Konum (lat, lng) | `52.2985763, 4.9569835`                       |
| Client ID (GTS)  | `6T0ZpaX9l6tfxIHCSJnARAClTSIciuZt`            |

## Entegrasyonda Kullanımı

- **Store ID** → API çağrıları: `GET /v1/delivery/stores/{store_id}`, mağaza listesi doğrulaması ve webhook eşleştirmesi (`meta.user_id`).
- **Login / Password** → `https://sandbox-login.uber.com` POS arayüzü girişi (sipariş kabul/red testleri).
- **Org UUID / Tenancy** → organizasyon ve tenancy tanımlayıcıları.

> Bu bilgiler yalnızca **sandbox/test** ortamına aittir; production verisi değildir.

## Bilinen Tuzaklar (2026-09-11 webhook turu)

- `event_time` **milisaniye** gelir (ör. `1789134693000`) — saniye kabul eden `Carbon::createFromTimestamp` DATETIME taşması üretir; `UberEatsWebhookService::receivedAt()` normalize eder.
- Gerçek `resource_href` **api.uber.com/v2/eats/order/{id}** — sandbox (`test-api.uber.com`) değil; Testing app'in verisi sandbox'ta yaşadığı için `UberEatsApiService::url()` bilinen Uber host'larını **config base host'una yazar** (path+query korunur), diğer host'ları reddeder.
- Webhook teslimatı, mağaza GTS tarafından **client ID'ye entegre edilmeden** başlamaz (consent-identity mağaza listesi görünse bile).
- Accept/Deny href'ten türetilmez: resmî aile **v1 çoğul** `POST /v1/eats/orders/{id}/accept_pos_order` (yanıt **204**); v2 tekil accept her iki host'ta 404. Boş body **`{}`** olmalı — Laravel `Http::post($url, [])` `[]` (JSON array) gönderir ve gateway 400 `bad_request` döner. Canlı kanıt: 2026-09-11, `Accept succeeded`.

## Kaynak

Uber GTS (Global Tech Support) — Tech Support talebi yanıtları (mağaza oluşturma 2026-09-07, app-level entegrasyon 2026-09-11).
