ERP

pos

96 uç · /api/erp/v1/pos

İstek örnekleri ucun GERÇEK metodu ve yolundan üretilir. 96 ucun elle doğrulanmış gövde örneği henüz yok; o uçlarda iskelet gövdesizdir — uydurma bir alan yazmıyoruz.

GET/api/erp/v1/pos/click-collect

List cc orders

Oturum
İstek
curl -X GET "https://{slug}.erp.blesyum.app/api/erp/v1/pos/click-collect" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
POST/api/erp/v1/pos/click-collect

Create cc order

Oturum
İstek
curl -X POST "https://{slug}.erp.blesyum.app/api/erp/v1/pos/click-collect" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
GET/api/erp/v1/pos/click-collect/{id}

Get cc order

OturumYol parametresi: id
İstek
curl -X GET "https://{slug}.erp.blesyum.app/api/erp/v1/pos/click-collect/<id>" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
POST/api/erp/v1/pos/click-collect/{id}/cancel

Cancel cc order

OturumYol parametresi: id
İstek
curl -X POST "https://{slug}.erp.blesyum.app/api/erp/v1/pos/click-collect/<id>/cancel" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
POST/api/erp/v1/pos/click-collect/{id}/collect

Collect cc order

OturumYol parametresi: id
İstek
curl -X POST "https://{slug}.erp.blesyum.app/api/erp/v1/pos/click-collect/<id>/collect" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
POST/api/erp/v1/pos/click-collect/{id}/lines/{line_id}/picked

Set cc line picked

OturumYol parametresi: idline_id
İstek
curl -X POST "https://{slug}.erp.blesyum.app/api/erp/v1/pos/click-collect/<id>/lines/<line_id>/picked" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
POST/api/erp/v1/pos/click-collect/{id}/ready

Ready cc order

OturumYol parametresi: id
İstek
curl -X POST "https://{slug}.erp.blesyum.app/api/erp/v1/pos/click-collect/<id>/ready" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
POST/api/erp/v1/pos/click-collect/{id}/start-picking

Start cc picking

OturumYol parametresi: id
İstek
curl -X POST "https://{slug}.erp.blesyum.app/api/erp/v1/pos/click-collect/<id>/start-picking" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
POST/api/erp/v1/pos/click-collect/expire

Expire cc orders

Oturum
İstek
curl -X POST "https://{slug}.erp.blesyum.app/api/erp/v1/pos/click-collect/expire" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
GET/api/erp/v1/pos/device-events

List pos device events

Oturum
İstek
curl -X GET "https://{slug}.erp.blesyum.app/api/erp/v1/pos/device-events" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
GET/api/erp/v1/pos/devices

List pos devices

Oturum
İstek
curl -X GET "https://{slug}.erp.blesyum.app/api/erp/v1/pos/devices" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
POST/api/erp/v1/pos/devices

Upsert (`device_code` tenant içinde tekil) — yeniden kurulum sağlığı/aktifliği SIFIRLAMAZ.

Oturum
İstek
curl -X POST "https://{slug}.erp.blesyum.app/api/erp/v1/pos/devices" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
GET/api/erp/v1/pos/devices/{id}

Get pos device

OturumYol parametresi: id
İstek
curl -X GET "https://{slug}.erp.blesyum.app/api/erp/v1/pos/devices/<id>" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
DELETE/api/erp/v1/pos/devices/{id}

Remove pos device

OturumYol parametresi: id
İstek
curl -X DELETE "https://{slug}.erp.blesyum.app/api/erp/v1/pos/devices/<id>" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
POST/api/erp/v1/pos/devices/{id}/active

Set pos device active

OturumYol parametresi: id
İstek
curl -X POST "https://{slug}.erp.blesyum.app/api/erp/v1/pos/devices/<id>/active" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
POST/api/erp/v1/pos/devices/{id}/drawer

Open pos drawer

OturumYol parametresi: id
İstek
curl -X POST "https://{slug}.erp.blesyum.app/api/erp/v1/pos/devices/<id>/drawer" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
POST/api/erp/v1/pos/devices/{id}/print

⚠ Mali fiş BURADAN kesilmez (`fiscal_printer` türü dışarıda) — ÖKC yolu

OturumYol parametresi: id

`POST /api/erp/v1/pos/sales/{id}/fiscal-receipt`.

İstek
curl -X POST "https://{slug}.erp.blesyum.app/api/erp/v1/pos/devices/<id>/print" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
POST/api/erp/v1/pos/devices/{id}/probe

Probe pos device

OturumYol parametresi: id
İstek
curl -X POST "https://{slug}.erp.blesyum.app/api/erp/v1/pos/devices/<id>/probe" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
POST/api/erp/v1/pos/devices/{id}/weight

⭐⭐⭐ Yanıttaki `weight` stub'da `null`'dır ve bu modül hiçbir belge satırına ağırlık yazmaz;

OturumYol parametresi: id

çağıran da `weight` null iken satır tutarı üretmemelidir.

İstek
curl -X POST "https://{slug}.erp.blesyum.app/api/erp/v1/pos/devices/<id>/weight" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
POST/api/erp/v1/pos/devices/heartbeat

Pos device heartbeat

Oturum
İstek
curl -X POST "https://{slug}.erp.blesyum.app/api/erp/v1/pos/devices/heartbeat" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
GET/api/erp/v1/pos/display/frame

**Ekran cihazının kare ucu.**

Oturum

⭐⭐⭐ Bu uç 401 ÜRETMEZ. Başlık yok / boş / bozuk / süresi dolmuş / iptal edilmiş — hepsi [`invalid_token`]'ın TEK mesajıyla **404**'tür. Sebebi AGENTS.md oturum sözleşmesidir: panellerin HTTP katmanı her 401'i "oturumun öldü" diye yorumlar ve kullanıcıyı giriş ekranına atar; ekran token'ı yanlış diye kasiyerin panelden düşmesi kabul edilemez. Tek tip mesaj ayrıca token tahmin edene "hangisi yanlıştı" bilgisini de vermez. ⚠ Ham token ne log'lanır, ne hata gövdesine konur, ne yanıtta geri döner — buradan yalnız [`DisplayFrame`] çıkar.

İstek
curl -X GET "https://{slug}.erp.blesyum.app/api/erp/v1/pos/display/frame" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
GET/api/erp/v1/pos/display/sessions

⚠ Liste **token/özet TAŞIMAZ** ([`SESSION_COLS`] onları hiç seçmez); ham token yalnız

Oturum

eşleştirme yanıtında, yalnız bir kez görünür.

İstek
curl -X GET "https://{slug}.erp.blesyum.app/api/erp/v1/pos/display/sessions" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
POST/api/erp/v1/pos/display/sessions/{id}/revoke

Revoke display session

OturumYol parametresi: id
İstek
curl -X POST "https://{slug}.erp.blesyum.app/api/erp/v1/pos/display/sessions/<id>/revoke" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
PATCH/api/erp/v1/pos/display/sessions/{id}/template

Set display pairing template

OturumYol parametresi: id
İstek
curl -X PATCH "https://{slug}.erp.blesyum.app/api/erp/v1/pos/display/sessions/<id>/template" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
GET/api/erp/v1/pos/display/templates

List display templates

Oturum
İstek
curl -X GET "https://{slug}.erp.blesyum.app/api/erp/v1/pos/display/templates" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
POST/api/erp/v1/pos/display/templates

Create display template

Oturum
İstek
curl -X POST "https://{slug}.erp.blesyum.app/api/erp/v1/pos/display/templates" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
GET/api/erp/v1/pos/display/templates/{id}

Get display template

OturumYol parametresi: id
İstek
curl -X GET "https://{slug}.erp.blesyum.app/api/erp/v1/pos/display/templates/<id>" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
PATCH/api/erp/v1/pos/display/templates/{id}

Update display template

OturumYol parametresi: id
İstek
curl -X PATCH "https://{slug}.erp.blesyum.app/api/erp/v1/pos/display/templates/<id>" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
DELETE/api/erp/v1/pos/display/templates/{id}

Delete display template

OturumYol parametresi: id
İstek
curl -X DELETE "https://{slug}.erp.blesyum.app/api/erp/v1/pos/display/templates/<id>" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
POST/api/erp/v1/pos/display/templates/{id}/active

Set display template active

OturumYol parametresi: id
İstek
curl -X POST "https://{slug}.erp.blesyum.app/api/erp/v1/pos/display/templates/<id>/active" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
POST/api/erp/v1/pos/display/terminals/{terminal_id}/clear

Clear display state

OturumYol parametresi: terminal_id
İstek
curl -X POST "https://{slug}.erp.blesyum.app/api/erp/v1/pos/display/terminals/<terminal_id>/clear" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
POST/api/erp/v1/pos/display/terminals/{terminal_id}/device-token

⭐ Ham cihaz token'ı **yalnız 201 gövdesinde** döner; yeniden eşleştirme öncekini susturur.

OturumYol parametresi: terminal_id
İstek
curl -X POST "https://{slug}.erp.blesyum.app/api/erp/v1/pos/display/terminals/<terminal_id>/device-token" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
DELETE/api/erp/v1/pos/display/terminals/{terminal_id}/device-token

Unpair terminal device

OturumYol parametresi: terminal_id
İstek
curl -X DELETE "https://{slug}.erp.blesyum.app/api/erp/v1/pos/display/terminals/<terminal_id>/device-token" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
POST/api/erp/v1/pos/display/terminals/{terminal_id}/pair

⭐ Ham token **YALNIZ BURADA**, yalnız 201 gövdesinde döner (`data.token`). Bir daha hiçbir

OturumYol parametresi: terminal_id

uçtan okunamaz; kaybolursa çözüm yeniden eşleştirmedir (öncekini aynı anda iptal eder).

İstek
curl -X POST "https://{slug}.erp.blesyum.app/api/erp/v1/pos/display/terminals/<terminal_id>/pair" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
POST/api/erp/v1/pos/display/terminals/{terminal_id}/snapshot

Kampanya/sadakat notlarını SUNUCUDA türetir (iskontolar istiflenmez: büyük olan kazanır).

OturumYol parametresi: terminal_id
İstek
curl -X POST "https://{slug}.erp.blesyum.app/api/erp/v1/pos/display/terminals/<terminal_id>/snapshot" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
GET/api/erp/v1/pos/display/terminals/{terminal_id}/state

Kasa/yönetim görünümü: durum HAM hâliyle döner (şablon süzgeci UYGULANMAZ — süzgeç ekran

OturumYol parametresi: terminal_id

cihazının karesi içindir, bkz. [`poll_state`]).

İstek
curl -X GET "https://{slug}.erp.blesyum.app/api/erp/v1/pos/display/terminals/<terminal_id>/state" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
POST/api/erp/v1/pos/display/terminals/{terminal_id}/state

Kasa her barkotta çağırır; belge kesilmez, defter kıpırdamaz. Aynanın aritmetiği modülde

OturumYol parametresi: terminal_id

zorlanır (Σ satır = ara toplam, toplam = ara toplam − iskonto) — sapan gövde 400 alır.

İstek
curl -X POST "https://{slug}.erp.blesyum.app/api/erp/v1/pos/display/terminals/<terminal_id>/state" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
GET/api/erp/v1/pos/endless-aisle

List endless orders

Oturum
İstek
curl -X GET "https://{slug}.erp.blesyum.app/api/erp/v1/pos/endless-aisle" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
POST/api/erp/v1/pos/endless-aisle

Create endless order

Oturum
İstek
curl -X POST "https://{slug}.erp.blesyum.app/api/erp/v1/pos/endless-aisle" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
GET/api/erp/v1/pos/endless-aisle/{id}

Get endless order

OturumYol parametresi: id
İstek
curl -X GET "https://{slug}.erp.blesyum.app/api/erp/v1/pos/endless-aisle/<id>" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
POST/api/erp/v1/pos/endless-aisle/{id}/cancel

Cancel endless order

OturumYol parametresi: id
İstek
curl -X POST "https://{slug}.erp.blesyum.app/api/erp/v1/pos/endless-aisle/<id>/cancel" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
POST/api/erp/v1/pos/endless-aisle/{id}/deliver

Deliver endless order

OturumYol parametresi: id
İstek
curl -X POST "https://{slug}.erp.blesyum.app/api/erp/v1/pos/endless-aisle/<id>/deliver" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
POST/api/erp/v1/pos/endless-aisle/{id}/lines/{line_id}/source

Assign endless source

OturumYol parametresi: idline_id
İstek
curl -X POST "https://{slug}.erp.blesyum.app/api/erp/v1/pos/endless-aisle/<id>/lines/<line_id>/source" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
POST/api/erp/v1/pos/endless-aisle/{id}/pay

Pay endless order

OturumYol parametresi: id
İstek
curl -X POST "https://{slug}.erp.blesyum.app/api/erp/v1/pos/endless-aisle/<id>/pay" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
POST/api/erp/v1/pos/endless-aisle/{id}/ship

Ship endless order

OturumYol parametresi: id
İstek
curl -X POST "https://{slug}.erp.blesyum.app/api/erp/v1/pos/endless-aisle/<id>/ship" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
GET/api/erp/v1/pos/fiscal-events

List fiscal events

Oturum
İstek
curl -X GET "https://{slug}.erp.blesyum.app/api/erp/v1/pos/fiscal-events" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
GET/api/erp/v1/pos/fiscal/device-health

**Cihaz sağlık kontrolü** — ÖKC echo'sunu konnektör satırına yazar. Stub `unknown` döner.

Oturum
İstek
curl -X GET "https://{slug}.erp.blesyum.app/api/erp/v1/pos/fiscal/device-health" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
POST/api/erp/v1/pos/fiscal/z-report

Fiscal z report

Oturum
İstek
curl -X POST "https://{slug}.erp.blesyum.app/api/erp/v1/pos/fiscal/z-report" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
GET/api/erp/v1/pos/held-sales

List held sales

Oturum
İstek
curl -X GET "https://{slug}.erp.blesyum.app/api/erp/v1/pos/held-sales" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
POST/api/erp/v1/pos/held-sales

Hold sale

Oturum
İstek
curl -X POST "https://{slug}.erp.blesyum.app/api/erp/v1/pos/held-sales" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
GET/api/erp/v1/pos/held-sales/{id}

Get held sale

OturumYol parametresi: id
İstek
curl -X GET "https://{slug}.erp.blesyum.app/api/erp/v1/pos/held-sales/<id>" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
POST/api/erp/v1/pos/held-sales/{id}/recall

Recall held sale

OturumYol parametresi: id
İstek
curl -X POST "https://{slug}.erp.blesyum.app/api/erp/v1/pos/held-sales/<id>/recall" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
POST/api/erp/v1/pos/held-sales/{id}/void

Void held sale

OturumYol parametresi: id
İstek
curl -X POST "https://{slug}.erp.blesyum.app/api/erp/v1/pos/held-sales/<id>/void" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
POST/api/erp/v1/pos/held-sales/expire

Expire held sales

Oturum
İstek
curl -X POST "https://{slug}.erp.blesyum.app/api/erp/v1/pos/held-sales/expire" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
POST/api/erp/v1/pos/offline/conflicts/{id}/resolve

⭐ Fiyat uyuşmazlığında otoriteyi İNSAN seçer; karar `resolved_by` ile satıra yazılır.

OturumYol parametresi: id
İstek
curl -X POST "https://{slug}.erp.blesyum.app/api/erp/v1/pos/offline/conflicts/<id>/resolve" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
POST/api/erp/v1/pos/offline/enqueue

Cihaz biriken fişleri tek istekte yollar; yanıt fiş fiş `ok`/`duplicate`/`error` taşır

Oturum

(bozuk bir fiş paketin geri kalanını düşürmez).

İstek
curl -X POST "https://{slug}.erp.blesyum.app/api/erp/v1/pos/offline/enqueue" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
GET/api/erp/v1/pos/offline/queue

List offline queue

Oturum
İstek
curl -X GET "https://{slug}.erp.blesyum.app/api/erp/v1/pos/offline/queue" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
POST/api/erp/v1/pos/offline/queue/{id}/requeue

⭐ Ölü satırın TEK kurtarma kapısı — sebep düzeltildikten sonra insan basar.

OturumYol parametresi: id
İstek
curl -X POST "https://{slug}.erp.blesyum.app/api/erp/v1/pos/offline/queue/<id>/requeue" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
POST/api/erp/v1/pos/offline/reclaim

⚠ [`reclaim_stale`] tur başına en fazla 1000 satır toplar (fonksiyonun kendi tavanı);

Oturum

buradaki kapı pencerenin kendisidir — 0 ya da yıllarca sürecek bir eşik sessizce kırpılmaz.

İstek
curl -X POST "https://{slug}.erp.blesyum.app/api/erp/v1/pos/offline/reclaim" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
POST/api/erp/v1/pos/offline/repair-tenders

**Geçmiş veri düzeltmesi** (BLE2-12652) — tender'sız senkron fişlerine kırılımı geriye dönük yaz.

Oturum

İzin `erp.pos.manage`: kapanmış vardiyanın mutabakat rakamını değiştirir, salt-okuma değildir. Mutasyon olduğu için `audit_mutations` isteği zaten denetim izine yazar; yanıt da düzeltilen her fişi ve her vardiyayı kalem kalem sayar.

İstek
curl -X POST "https://{slug}.erp.blesyum.app/api/erp/v1/pos/offline/repair-tenders" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
GET/api/erp/v1/pos/offline/status

Offline queue status

Oturum
İstek
curl -X GET "https://{slug}.erp.blesyum.app/api/erp/v1/pos/offline/status" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
POST/api/erp/v1/pos/offline/sync

Sync offline

Oturum
İstek
curl -X POST "https://{slug}.erp.blesyum.app/api/erp/v1/pos/offline/sync" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
PATCH/api/erp/v1/pos/offline/terminals/{id}

Configure offline terminal

OturumYol parametresi: id
İstek
curl -X PATCH "https://{slug}.erp.blesyum.app/api/erp/v1/pos/offline/terminals/<id>" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
POST/api/erp/v1/pos/offline/terminals/{id}/bind-session

Yol parametresi TERMİNAL, gövdedeki `session_id` bağlanacak AÇIK vardiya.

OturumYol parametresi: id
İstek
curl -X POST "https://{slug}.erp.blesyum.app/api/erp/v1/pos/offline/terminals/<id>/bind-session" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
POST/api/erp/v1/pos/offline/terminals/{id}/heartbeat

Terminalin "son görülme" damgası — kasa yazılımı hat kopukken de periyodik olarak çalar.

OturumYol parametresi: id
İstek
curl -X POST "https://{slug}.erp.blesyum.app/api/erp/v1/pos/offline/terminals/<id>/heartbeat" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
GET/api/erp/v1/pos/payment-types

List payment types

Oturum
İstek
curl -X GET "https://{slug}.erp.blesyum.app/api/erp/v1/pos/payment-types" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
POST/api/erp/v1/pos/payment-types

Upsert payment type

Oturum
İstek
curl -X POST "https://{slug}.erp.blesyum.app/api/erp/v1/pos/payment-types" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
POST/api/erp/v1/pos/payment-types/{id}/active

Set payment type active

OturumYol parametresi: id
İstek
curl -X POST "https://{slug}.erp.blesyum.app/api/erp/v1/pos/payment-types/<id>/active" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
GET/api/erp/v1/pos/returns

List returns

Oturum
İstek
curl -X GET "https://{slug}.erp.blesyum.app/api/erp/v1/pos/returns" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
POST/api/erp/v1/pos/returns

Create return

Oturum
İstek
curl -X POST "https://{slug}.erp.blesyum.app/api/erp/v1/pos/returns" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
GET/api/erp/v1/pos/returns/{id}

Get return

OturumYol parametresi: id
İstek
curl -X GET "https://{slug}.erp.blesyum.app/api/erp/v1/pos/returns/<id>" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
POST/api/erp/v1/pos/returns/{id}/approve

Approve return

OturumYol parametresi: id
İstek
curl -X POST "https://{slug}.erp.blesyum.app/api/erp/v1/pos/returns/<id>/approve" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
POST/api/erp/v1/pos/returns/{id}/reject

Reject return

OturumYol parametresi: id
İstek
curl -X POST "https://{slug}.erp.blesyum.app/api/erp/v1/pos/returns/<id>/reject" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
POST/api/erp/v1/pos/returns/{id}/return-shipment

Open pos return shipment

OturumYol parametresi: id
İstek
curl -X POST "https://{slug}.erp.blesyum.app/api/erp/v1/pos/returns/<id>/return-shipment" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
POST/api/erp/v1/pos/sales/{id}/fiscal-receipt

**Mali fiş kes** (`'none'` → `'printed'`). Yol parametresi `pos_sale` belgesinin kimliğidir.

OturumYol parametresi: id
İstek
curl -X POST "https://{slug}.erp.blesyum.app/api/erp/v1/pos/sales/<id>/fiscal-receipt" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
POST/api/erp/v1/pos/sales/{id}/fiscal-receipt/void

**Mali fiş iptali** (`'printed'` → `'voided'`). ⚠ Satışın iadesi DEĞİLDİR: ledger'a hiçbir

OturumYol parametresi: id

şey yazılmaz, para iadesi ayrı bir belgedir.

İstek
curl -X POST "https://{slug}.erp.blesyum.app/api/erp/v1/pos/sales/<id>/fiscal-receipt/void" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
GET/api/erp/v1/pos/sales/{id}/payments

List sale payments

OturumYol parametresi: id
İstek
curl -X GET "https://{slug}.erp.blesyum.app/api/erp/v1/pos/sales/<id>/payments" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
GET/api/erp/v1/pos/sales/{id}/returnable-lines

List returnable lines

OturumYol parametresi: id
İstek
curl -X GET "https://{slug}.erp.blesyum.app/api/erp/v1/pos/sales/<id>/returnable-lines" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
POST/api/erp/v1/pos/sales/{id}/settle

Settle pos sale

OturumYol parametresi: id
İstek
curl -X POST "https://{slug}.erp.blesyum.app/api/erp/v1/pos/sales/<id>/settle" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
GET/api/erp/v1/pos/sessions

List pos sessions

Oturum
İstek
curl -X GET "https://{slug}.erp.blesyum.app/api/erp/v1/pos/sessions" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
POST/api/erp/v1/pos/sessions

Open pos session

Oturum
İstek
curl -X POST "https://{slug}.erp.blesyum.app/api/erp/v1/pos/sessions" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
GET/api/erp/v1/pos/sessions/{id}/cash-breakdown

Get cash breakdown

OturumYol parametresi: id
İstek
curl -X GET "https://{slug}.erp.blesyum.app/api/erp/v1/pos/sessions/<id>/cash-breakdown" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
GET/api/erp/v1/pos/sessions/{id}/cash-counts

List pos cash counts

OturumYol parametresi: id
İstek
curl -X GET "https://{slug}.erp.blesyum.app/api/erp/v1/pos/sessions/<id>/cash-counts" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
POST/api/erp/v1/pos/sessions/{id}/cash-counts

Record pos cash count

OturumYol parametresi: id
İstek
curl -X POST "https://{slug}.erp.blesyum.app/api/erp/v1/pos/sessions/<id>/cash-counts" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
GET/api/erp/v1/pos/sessions/{id}/cash-movements

List cash movements

OturumYol parametresi: id
İstek
curl -X GET "https://{slug}.erp.blesyum.app/api/erp/v1/pos/sessions/<id>/cash-movements" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
POST/api/erp/v1/pos/sessions/{id}/cash-movements

Record cash movement

OturumYol parametresi: id
İstek
curl -X POST "https://{slug}.erp.blesyum.app/api/erp/v1/pos/sessions/<id>/cash-movements" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
POST/api/erp/v1/pos/sessions/{id}/close

Close pos session

OturumYol parametresi: id
İstek
curl -X POST "https://{slug}.erp.blesyum.app/api/erp/v1/pos/sessions/<id>/close" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
POST/api/erp/v1/pos/sessions/{id}/close-with-count

**Kupür sayımıyla kapat.** ⭐ Kapanış tutarı AYRICA alınmaz: alsaydık kasiyer 3.480 sayıp

OturumYol parametresi: id

3.500 yazabilir ve kupür kırılımı ile kapanış rakamı ayrışırdı — sayımın var olma sebebi tam olarak bu ayrışmayı imkânsız kılmaktır.

İstek
curl -X POST "https://{slug}.erp.blesyum.app/api/erp/v1/pos/sessions/<id>/close-with-count" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
POST/api/erp/v1/pos/sessions/{id}/drawer-open

Record drawer open

OturumYol parametresi: id
İstek
curl -X POST "https://{slug}.erp.blesyum.app/api/erp/v1/pos/sessions/<id>/drawer-open" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
GET/api/erp/v1/pos/sessions/{id}/drawer-opens

List drawer opens

OturumYol parametresi: id
İstek
curl -X GET "https://{slug}.erp.blesyum.app/api/erp/v1/pos/sessions/<id>/drawer-opens" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
GET/api/erp/v1/pos/sessions/{id}/drawer-summary

Drawer summary

OturumYol parametresi: id
İstek
curl -X GET "https://{slug}.erp.blesyum.app/api/erp/v1/pos/sessions/<id>/drawer-summary" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
POST/api/erp/v1/pos/sessions/{id}/sale

Pos sale

OturumYol parametresi: id
İstek
curl -X POST "https://{slug}.erp.blesyum.app/api/erp/v1/pos/sessions/<id>/sale" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
GET/api/erp/v1/pos/sessions/{id}/x-report

Gün içi X raporu — kapanmış vardiyada 409 (orada rapor Z'dir).

OturumYol parametresi: id
İstek
curl -X GET "https://{slug}.erp.blesyum.app/api/erp/v1/pos/sessions/<id>/x-report" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
GET/api/erp/v1/pos/sessions/{id}/z-report

Pos z report

OturumYol parametresi: id
İstek
curl -X GET "https://{slug}.erp.blesyum.app/api/erp/v1/pos/sessions/<id>/z-report" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
GET/api/erp/v1/pos/summary

Pos session summary

Oturum
İstek
curl -X GET "https://{slug}.erp.blesyum.app/api/erp/v1/pos/summary" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
Bu sayfa işine yaradı mı?