Müşteri akışı: uçtan uca
Bir müşteri anahtarıyla (role: customer) bir işi baştan sona yürütmek.
GET /catalog → POST /pricing/preview → POST /bookings → POST /payments → (usta kabul eder) → GET /bookings/{id} → POST /bookings/{id}/confirm → POST /ratings
1. Hizmeti seçin
curl https://api.ornek.com/partner/v1/catalog -H "Authorization: Bearer ugp_…"products[].variants[].id rezervasyonda variant_id olarak kullanılır. Hizmetin soruları (ug_service_questions) varsa cevapları answers alanında gönderin; katalog soruları (marka/model) için seçenekler GET /reference-catalogs/{key}.
2. Fiyatı gösterin
curl -X POST https://api.ornek.com/partner/v1/pricing/preview \
-H "Authorization: Bearer ugp_…" -H "Content-Type: application/json" \
-d '{"items":[{"variant_id":"variant_…"}],"city":"İstanbul","district":"Kadıköy"}'Fiyat bölgeye göre değişir; total rezervasyonun tahsil edeceği tutardır.
3. Randevu dilimini seçin
GET /appointment-slots?date=2026-10-06 → slots[].slot.
4. Rezervasyonu açın
curl -X POST https://api.ornek.com/partner/v1/bookings \
-H "Authorization: Bearer ugp_…" -H "Content-Type: application/json" \
-d '{
"items": [{ "variant_id": "variant_…" }],
"appointment_date": "2026-10-06",
"appointment_slot": "09:00-11:00",
"city": "İstanbul",
"district": "Kadıköy",
"address_summary": "Moda Cad. No: 12 D: 3"
}'Cevap request (ve çok meslekli sepette requests + group_id) döner. Sözleşme onayı alıyorsanız GET /legal metinlerini gösterip legal_acceptance ekleyin.
5. Ödemeyi açın
Her bacak için POST /payments. Ayrıntı: Havale ve Kart. Ödeme tutulunca iş ustalara dağıtılır.
6. İşi izleyin
GET /bookings/{id} ya da GET /notifications/sync ile yoklayın. Usta yola çıkınca metadata.on_the_way_at dolar ve başlangıç kodu müşteriye gösterilir; usta işe başlarken bu kodu girer. Usta işi bitirince bitiş kodu müşteriye SMS ve bildirim olarak gider.
7. Onaylayın ve puanlayın
İş completed olunca müşteri onaylar: POST /bookings/{id}/confirm (money izni) ödemeyi ustaya bırakır. Ardından POST /ratings.
İptal ve sorunlar
POST /bookings/{id}/cancelaşamaya göre karar verir; para iptalde hareket etmez, iade talebini ekip sonuçlandırır.- İş başladıktan sonra sorun varsa
POST /payments/{id}/dispute. - Genel destek:
POST /tickets.