quotes
7 uç · /api/b2b/v1/quotes
İstek örnekleri ucun GERÇEK metodu ve yolundan üretilir. 7 ucun elle doğrulanmış gövde örneği henüz yok; o uçlarda iskelet gövdesizdir — uydurma bir alan yazmıyoruz.
PATCH /admin/quotes/{id}/lines — teklif kalemlerini DEĞİŞTİR (b2b.orders.manage).
id# Neden var
Teklif detayında fiyat, KDV, geçerlilik ve not düzenlenebiliyordu ama **kalem
ekleme/çıkarma ve miktar değiştirme hiçbir yerde yoktu** — ne uçta ne ekranda.
Kullanıcı bunu *"teklif detayı var ama teklif düzenlenemiyor"* diye bildirdi
(2026-08-20). Sipariş tarafında aynı iş zaten çalışıyordu
(manual_orders::edit_lines_handler); bu onun ikizidir.
# Sınır — fiyatlama kapısıyla AYNI
Yalnız requested/quoted teklifin kalemleri değişir. Karar verilmiş bir teklifin
(kabul/ret) içeriğini değiştirmek, bayinin gördüğü belgeyi geriye dönük tahrif
etmek olurdu — quote_offer_handler'ın kapısı da tam olarak budur.
# Fiyatsız kalem MEŞRUDUR
unit_net NULL kalabilir (şemanın kendi sözleşmesi: "boş ≠ sıfır"). Fiyatsız satır
varsa teklif quoted'a **geçmez** — gönderme hâlâ "Gönder"in (quote_offer_handler)
işidir ve o, eksik fiyatlı teklifi zaten reddeder.
curl -X PATCH "https://{slug}.b2b.blesyum.app/api/b2b/v1/admin/quotes/<id>/lines" \
-H "Authorization: Bearer <oturum-token>" \
-H "Accept: application/json"{
"data": "…",
"trace_id": "01JC…"
}POST /admin/quotes/{id}/quote — satıcı fiyatlar (b2b.orders.manage).
idTÜM satırlar fiyatlanmalıdır: eksik fiyatlı bir teklif bayiye "kabul et" düğmesi gösterir ama kabul edilemez (dosya başı sözleşmesi) — bunu gönderim anında reddetmek, kullanıcıyı kabul anında hayal kırıklığına uğratmaktan iyidir.
curl -X POST "https://{slug}.b2b.blesyum.app/api/b2b/v1/admin/quotes/<id>/quote" \
-H "Authorization: Bearer <oturum-token>" \
-H "Accept: application/json"{
"data": "…",
"trace_id": "01JC…"
}POST /admin/quotes/{id}/reject — satıcı teklifi reddeder (fiyat veremiyor/stok yok).
idcurl -X POST "https://{slug}.b2b.blesyum.app/api/b2b/v1/admin/quotes/<id>/reject" \
-H "Authorization: Bearer <oturum-token>" \
-H "Accept: application/json"{
"data": "…",
"trace_id": "01JC…"
}