Blesyum Core

support

8 uç · /api/v1/support

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

POST/api/v1/support/attachments

Upload a file to attach to a support ticket (SUP — ek dosya). Stored tenant-

Oturum

scoped and *staged* (unbound); the returned attachment is bound to a message by passing its id in the `attachment_ids` of a later create/reply. Images + PDF, ≤10 MiB, content type verified by magic bytes (not the client's Content-Type, SEC-12). Requires `core.tenant.view`.

İstek
curl -X POST "https://api.blesyum.com/api/v1/support/attachments" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
GET/api/v1/support/tickets

List the active tenant's tickets (SUP-04). `?status=` filters. The actor

Oturum

personalises each ticket's `has_unread` (okundu-takibi, mig 0819).

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

Ticket create

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

A ticket with its (customer-visible) messages (SUP-03). Fetching the thread

OturumYol parametresi: id

stamps it read for the actor (okundu-takibi) — the list's `has_unread` emphasis clears once the customer has actually opened the conversation.

İstek
curl -X GET "https://api.blesyum.com/api/v1/support/tickets/<id>" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
GET/api/v1/support/tickets/{id}/attachments/{aid}/download

Download a ticket attachment (SUP — ek dosya). Tenant-private: gated by

OturumYol parametresi: idaid

`core.tenant.view` and resolved under the tenant's RLS context, so a caller can only fetch its own files (unknown / other-tenant → 404, no existence leak). Always streamed through the app — on every backend — so the authenticated `fetch` in the panel keeps working same-origin (a presigned redirect would require CORS on the bucket) and the response keeps the user-facing filename and `no-store` caching. Files are capped at 10 MiB, so proxying is cheap.

İstek
curl -X GET "https://api.blesyum.com/api/v1/support/tickets/<id>/attachments/<aid>/download" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
POST/api/v1/support/tickets/{id}/close

Close one's own ticket (SUP-04).

OturumYol parametresi: id
İstek
curl -X POST "https://api.blesyum.com/api/v1/support/tickets/<id>/close" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
POST/api/v1/support/tickets/{id}/csat

Rate a resolved ticket (SUP-05).

OturumYol parametresi: id
İstek
curl -X POST "https://api.blesyum.com/api/v1/support/tickets/<id>/csat" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
POST/api/v1/support/tickets/{id}/reply

Add a customer reply to a ticket (SUP-03).

OturumYol parametresi: id
İstek
curl -X POST "https://api.blesyum.com/api/v1/support/tickets/<id>/reply" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
Bu sayfa işine yaradı mı?