CRM

lc

174 uç · /api/crm/v1/lc

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

DELETE/api/crm/v1/lc/ai-agent-preview/conversations/{id}

Preview delete

OturumYol parametresi: id
İstek
curl -X DELETE "https://{slug}.crm.blesyum.app/api/crm/v1/lc/ai-agent-preview/conversations/<id>" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
POST/api/crm/v1/lc/ai-agent/articles/ingest

Ingest articles

Oturum
İstek
curl -X POST "https://{slug}.crm.blesyum.app/api/crm/v1/lc/ai-agent/articles/ingest" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
POST/api/crm/v1/lc/ai-agent/articles/uningest

Uningest articles

Oturum
İstek
curl -X POST "https://{slug}.crm.blesyum.app/api/crm/v1/lc/ai-agent/articles/uningest" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
GET/api/crm/v1/lc/ai-agent/attribute-usage

Aylık kullanım + kapak durumu. "Neden tespit yok" sorusunun cevabı burada:

Oturum

skipped > 0 ise kapak doldu demektir.

İstek
curl -X GET "https://{slug}.crm.blesyum.app/api/crm/v1/lc/ai-agent/attribute-usage" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
DELETE/api/crm/v1/lc/ai-agent/attribute-values/{id}

Delete value

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

GET me/push-devices — {available: {ios, android}, devices: [...]}. Mobil, bildirim

Oturum

anahtarını availablea bakarak çizer (hazır değilse "yakında" DEĞİL, hiç çizmez).

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

POST /api/crm/v1/channels/custom — özel kanal aç. Kanal anahtarı ve imza sırrı YALNIZ

Oturum

bu yanıtta görünür.

İstek
curl -X POST "https://{slug}.crm.blesyum.app/api/crm/v1/lc/ai-agent/attributes" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
PUT/api/crm/v1/lc/ai-agent/attributes/{id}

PATCH /api/crm/v1/channels/custom/{id} — webhook adresini değiştir (sır korunur).

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

Archive

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

List values

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

Add value

OturumYol parametresi: id
İstek
curl -X POST "https://{slug}.crm.blesyum.app/api/crm/v1/lc/ai-agent/attributes/<id>/values" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
POST/api/crm/v1/lc/ai-agent/attributes/detect

Bir konuşmada tespiti ŞİMDİ koştur (ekranda "dene" düğmesi). Canlı yolun ta

Oturum

kendisidir: ayrı bir "önizleme" hattı yazmak, ölçtüğü şeyin canlıdan farklı olmasına yol açardı (AI-TOOL-01'in dersi).

İstek
curl -X POST "https://{slug}.crm.blesyum.app/api/crm/v1/lc/ai-agent/attributes/detect" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
GET/api/crm/v1/lc/ai-agent/audiences

List audiences

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

Create audience

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

Update audience

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

Delete audience

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

Estimate audience

OturumYol parametresi: id
İstek
curl -X POST "https://{slug}.crm.blesyum.app/api/crm/v1/lc/ai-agent/audiences/<id>/estimate" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
POST/api/crm/v1/lc/ai-agent/audiences/preview

Kaydetmeden say: kitle kurarken "bu koşul kaç kişiye denk geliyor".

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

POST /api/crm/v1/internal/whatsapp/templates — kiracının gönderilebilir şablonları.

Oturum

Durum kodları çağrı köprüsüyle AYNI doktrinde: * **401** imza tutmadı — tüketici bunu KALICI sayar. * **400** gövde çözülemedi. * **404** kiracı yok/silinmiş. * **200** yanıt — lisans/hesap/şablon eksikleri gövdedeki AYRI bayraklarla söylenir.

İstek
curl -X GET "https://{slug}.crm.blesyum.app/api/crm/v1/lc/ai-agent/connector-templates" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
GET/api/crm/v1/lc/ai-agent/connectors/{id}/calls

Son çağrılar — "neden çalışmıyor" ekranı. Sır içermez (defter zaten sırsız yazılır).

OturumYol parametresi: id
İstek
curl -X GET "https://{slug}.crm.blesyum.app/api/crm/v1/lc/ai-agent/connectors/<id>/calls" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
GET/api/crm/v1/lc/ai-agent/connectors/{id}/secrets

List secrets

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

Put secret

OturumYol parametresi: id
İstek
curl -X POST "https://{slug}.crm.blesyum.app/api/crm/v1/lc/ai-agent/connectors/<id>/secrets" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
DELETE/api/crm/v1/lc/ai-agent/connectors/{id}/secrets/{name}

Delete secret

OturumYol parametresi: idname
İstek
curl -X DELETE "https://{slug}.crm.blesyum.app/api/crm/v1/lc/ai-agent/connectors/<id>/secrets/<name>" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
PUT/api/crm/v1/lc/ai-agent/connectors/{id}/security

Update security

OturumYol parametresi: id
İstek
curl -X PUT "https://{slug}.crm.blesyum.app/api/crm/v1/lc/ai-agent/connectors/<id>/security" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
POST/api/crm/v1/lc/ai-agent/connectors/from-template

From template

Oturum
İstek
curl -X POST "https://{slug}.crm.blesyum.app/api/crm/v1/lc/ai-agent/connectors/from-template" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
GET/api/crm/v1/lc/ai-agent/credits

Bakiye + kullanım grafiği + paketler + otomatik yükleme durumu.

Oturum

Tek uç: panel açılışında dört ayrı istek yapmasın (bakiye sayfası her AI ekranının üstünde bir bant olarak da kullanılır).

İstek
curl -X GET "https://{slug}.crm.blesyum.app/api/crm/v1/lc/ai-agent/credits" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
POST/api/crm/v1/lc/ai-agent/credits/3ds-return

3DS dönüşü (PUBLIC): banka doğrulamayı bitirince buraya POST eder.

Herkese açık

Neden ayrı bir PUBLIC uç: banka çağrısı kullanıcı oturumu taşımaz ve payment_id yalnız bu POST'ta gelir. Tarayıcı tarafında "pencere kapandı → tamamla" varsayımıyla conversation_id'yi payment_id sanmak iyzico'da HER ZAMAN başarısız olurdu. Dönüş bir **HTML sayfasıdır**: banka bunu iframe/pencere içinde açar; sayfa postMessage ile ana pencereye sonucu bildirir ve kendini kapatır. # Panics Yok — tüm hata yolları HTML sayfasıyla kapatılır (bankaya 500 dönmek yeniden deneme fırtınası başlatır).

İstek
curl -X POST "https://{slug}.crm.blesyum.app/api/crm/v1/lc/ai-agent/credits/3ds-return" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
GET/api/crm/v1/lc/ai-agent/credits/3ds-return

GET karşılığı — bazı bankalar callback'i query-string ile yapar. POST-only bir uç

Herkese açık

bu durumda ödeme alınmış ama kredi yüklenmemiş bırakırdı.

İstek
curl -X GET "https://{slug}.crm.blesyum.app/api/crm/v1/lc/ai-agent/credits/3ds-return" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
POST/api/crm/v1/lc/ai-agent/credits/auto-reload

Auto reload

Oturum
İstek
curl -X POST "https://{slug}.crm.blesyum.app/api/crm/v1/lc/ai-agent/credits/auto-reload" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
POST/api/crm/v1/lc/ai-agent/credits/checkout

Kayıtlı kartla 3DS başlat → banka HTML challenge.

Oturum

Kredi burada YÜKLENMEZ; yalnız ödeme başlatılır (bkz. modül başlığı).

İstek
curl -X POST "https://{slug}.crm.blesyum.app/api/crm/v1/lc/ai-agent/credits/checkout" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
POST/api/crm/v1/lc/ai-agent/credits/checkout/complete

3DS tamamla → **ödeme başarılıysa** krediyi yükle + faturayı kes.

Oturum

⚠ Normal akışta bu uç ÇAĞRILMAZ: bankanın POST'u doğrudan [threeds_return_h]'e gider ve tamamlamayı orası yapar (payment_id yalnız o POST'ta bulunur). Bu uç **elle kurtarma** yoludur: callback kaybolduysa (ağ/edge kesintisi) operatör iyzico panelindeki paymentId ile ödemeyi tamamlatabilir. Aynı çift-yükleme koruması burada da işler. Sıra: iyzico onayı → fatura → yükleme. Fatura üretimi patlarsa kredi yine yüklenir (müşteri parayı ödedi; belgesizlik onu cezalandırmamalı) ve hata loglanır.

İstek
curl -X POST "https://{slug}.crm.blesyum.app/api/crm/v1/lc/ai-agent/credits/checkout/complete" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
GET/api/crm/v1/lc/ai-agent/credits/invoices

Invoices

Oturum
İstek
curl -X GET "https://{slug}.crm.blesyum.app/api/crm/v1/lc/ai-agent/credits/invoices" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
GET/api/crm/v1/lc/ai-agent/credits/invoices/{id}/pdf

Invoice pdf

OturumYol parametresi: id
İstek
curl -X GET "https://{slug}.crm.blesyum.app/api/crm/v1/lc/ai-agent/credits/invoices/<id>/pdf" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
GET/api/crm/v1/lc/ai-agent/deployments

List deployments

Oturum
İstek
curl -X GET "https://{slug}.crm.blesyum.app/api/crm/v1/lc/ai-agent/deployments" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
PUT/api/crm/v1/lc/ai-agent/deployments

Upsert deployment

Oturum
İstek
curl -X PUT "https://{slug}.crm.blesyum.app/api/crm/v1/lc/ai-agent/deployments" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
GET/api/crm/v1/lc/ai-agent/documents

List documents

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

Create document

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

Get document

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

Delete documents

OturumYol parametresi: id
İstek
curl -X DELETE "https://{slug}.crm.blesyum.app/api/crm/v1/lc/ai-agent/documents/<id>" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
POST/api/crm/v1/lc/ai-agent/documents/from-file

CF15 Paket 8: **yüklenmiş bir dosyadan** belge oluştur (PDF · DOCX · metin · HTML).

Oturum

Bu uca kadar "Belgeler" ekranı içeriği kullanıcının **elle yapıştırmasını** istiyordu. ⚠ Dosya bu uca GÖNDERİLMEZ, mevcut files hattıyla yüklenir (S3'e presigned PUT, yerel kurulumda /files/{id}/content). Sebep: global gövde tavanı **1 MiB** (MAX_BODY_BYTES) ve rota-düzeyi bir tavan onu AŞAMAZ — multipart bir uç 1 MiB'ın üstündeki her PDF'i 413 ile reddederdi. Dosya hattının kendi tavanı 25 MiB'dir ve byte'lar uygulamadan hiç geçmez. Metin çıkarımı ai::extracttedir; taranmış PDF açıkça reddedilir (sessiz boş belge, kullanıcıyı "AI bunu bilmiyor" diye yanıltırdı).

İstek
curl -X POST "https://{slug}.crm.blesyum.app/api/crm/v1/lc/ai-agent/documents/from-file" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
GET/api/crm/v1/lc/ai-agent/escalation-rules

List escalation

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

Create escalation

Oturum
İstek
curl -X POST "https://{slug}.crm.blesyum.app/api/crm/v1/lc/ai-agent/escalation-rules" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
PUT/api/crm/v1/lc/ai-agent/escalation-rules/{id}

Update escalation

OturumYol parametresi: id
İstek
curl -X PUT "https://{slug}.crm.blesyum.app/api/crm/v1/lc/ai-agent/escalation-rules/<id>" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
DELETE/api/crm/v1/lc/ai-agent/escalation-rules/{id}

Archive escalation

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

Fields

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

Hazır akışlar — galeri kataloğu. Katalog SUNUCUDADIR (panel yalnız çizer), o

Oturum

yüzden yeni bir şablon eklemek frontend'e hiç dokunmadan yayına girer.

İstek
curl -X GET "https://{slug}.crm.blesyum.app/api/crm/v1/lc/ai-agent/flow-templates" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
GET/api/crm/v1/lc/ai-agent/flows

List flows

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

Create flow

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

Get flow

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

Update flow

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

Delete flow

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

Flow eklentileri (attachment byte deposu = CF7-storage/CF14 seam → şimdilik boş).

OturumYol parametresi: id
İstek
curl -X GET "https://{slug}.crm.blesyum.app/api/crm/v1/lc/ai-agent/flows/<id>/attachments" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
GET/api/crm/v1/lc/ai-agent/flows/{id}/runs

Runs

OturumYol parametresi: id
İstek
curl -X GET "https://{slug}.crm.blesyum.app/api/crm/v1/lc/ai-agent/flows/<id>/runs" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
PUT/api/crm/v1/lc/ai-agent/flows/{id}/triggers

Update triggers

OturumYol parametresi: id
İstek
curl -X PUT "https://{slug}.crm.blesyum.app/api/crm/v1/lc/ai-agent/flows/<id>/triggers" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
GET/api/crm/v1/lc/ai-agent/flows/list

Flows list

Oturum
İstek
curl -X GET "https://{slug}.crm.blesyum.app/api/crm/v1/lc/ai-agent/flows/list" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
GET/api/crm/v1/lc/ai-agent/getstarted

Getstarted

Oturum
İstek
curl -X GET "https://{slug}.crm.blesyum.app/api/crm/v1/lc/ai-agent/getstarted" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
GET/api/crm/v1/lc/ai-agent/guidance

List guidance

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

Create guidance

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

Update guidance

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

Archive guidance

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

Incidents

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

Ingest website

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

Knowledge

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

CF15 Paket 8: **değişiklik taraması** — kayıtlı web sayfalarını yeniden çeker,

Oturum

içeriği değişenleri yeniden gömülecek işaretler. Değişmeyeni yeniden gömmek para yakmaktır: karşılaştırma içerik üzerinden yapılır (content_hash ingest hattında zaten var), bu uç yalnız TAZE içeriği getirip farklıysa yazar.

İstek
curl -X POST "https://{slug}.crm.blesyum.app/api/crm/v1/lc/ai-agent/knowledge/refresh" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
GET/api/crm/v1/lc/ai-agent/monitors

List monitors

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

Create monitor

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

Update monitor

OturumYol parametresi: id
İstek
curl -X PUT "https://{slug}.crm.blesyum.app/api/crm/v1/lc/ai-agent/monitors/<id>" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
GET/api/crm/v1/lc/ai-agent/monitors/{id}/summary

Summary

OturumYol parametresi: id
İstek
curl -X GET "https://{slug}.crm.blesyum.app/api/crm/v1/lc/ai-agent/monitors/<id>/summary" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
POST/api/crm/v1/lc/ai-agent/operator

Operator

Oturum
İstek
curl -X POST "https://{slug}.crm.blesyum.app/api/crm/v1/lc/ai-agent/operator" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
POST/api/crm/v1/lc/ai-agent/preview

Preview

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

Koşuyu **arka planda** başlat ve koşu kimliğini hemen dön.

OturumYol parametresi: id

50 vaka × 2 LLM çağrısı dakikalar sürer; isteği o kadar açık tutmak proxy zaman aşımına düşer ve kullanıcı "bozuldu" sanır. Panel GET /test-runs/{id} ile ilerlemeyi okur — koşu satırı running durumda ve sonuçlar geldikçe dolar.

İstek
curl -X GET "https://{slug}.crm.blesyum.app/api/crm/v1/lc/ai-agent/procedure-runs/<id>" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
GET/api/crm/v1/lc/ai-agent/procedures

GET me/push-devices — {available: {ios, android}, devices: [...]}. Mobil, bildirim

Oturum

anahtarını availablea bakarak çizer (hazır değilse "yakında" DEĞİL, hiç çizmez).

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

POST /api/crm/v1/channels/custom — özel kanal aç. Kanal anahtarı ve imza sırrı YALNIZ

Oturum

bu yanıtta görünür.

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

Get

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

PATCH /api/crm/v1/channels/custom/{id} — webhook adresini değiştir (sır korunur).

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

Archive

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

Publish

OturumYol parametresi: id
İstek
curl -X POST "https://{slug}.crm.blesyum.app/api/crm/v1/lc/ai-agent/procedures/<id>/publish" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
GET/api/crm/v1/lc/ai-agent/procedures/{id}/runs

Runs

OturumYol parametresi: id
İstek
curl -X GET "https://{slug}.crm.blesyum.app/api/crm/v1/lc/ai-agent/procedures/<id>/runs" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
GET/api/crm/v1/lc/ai-agent/procedures/{id}/versions

Versions

OturumYol parametresi: id
İstek
curl -X GET "https://{slug}.crm.blesyum.app/api/crm/v1/lc/ai-agent/procedures/<id>/versions" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
GET/api/crm/v1/lc/ai-agent/prompt

Derlenmiş sistem promptu: "modele tam olarak ne gidiyor". Kural yazan kiracının

Oturum

kutusunun karşılığını GÖRMESİ, F2'nin en ucuz güven aracı.

İstek
curl -X GET "https://{slug}.crm.blesyum.app/api/crm/v1/lc/ai-agent/prompt" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
GET/api/crm/v1/lc/ai-agent/recommendations

Recommendations

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

Close recommendation

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

"Bana düşen incelemeler". Kuyruk KİŞİYE bağlıdır: başkasının kuyruğunu görmek,

Oturum

round-robin dağıtımını anlamsız yapardı.

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

Review

OturumYol parametresi: id
İstek
curl -X POST "https://{slug}.crm.blesyum.app/api/crm/v1/lc/ai-agent/reviews/<id>" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
GET/api/crm/v1/lc/ai-agent/rule-metrics

Rule metrics

Oturum
İstek
curl -X GET "https://{slug}.crm.blesyum.app/api/crm/v1/lc/ai-agent/rule-metrics" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
DELETE/api/crm/v1/lc/ai-agent/scorecard-criteria/{id}

Remove criterion

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

List scorecards

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

Create scorecard

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

Archive scorecard

OturumYol parametresi: id
İstek
curl -X POST "https://{slug}.crm.blesyum.app/api/crm/v1/lc/ai-agent/scorecards/<id>/archive" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
GET/api/crm/v1/lc/ai-agent/scorecards/{id}/criteria

Criteria

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

Add criterion

OturumYol parametresi: id
İstek
curl -X POST "https://{slug}.crm.blesyum.app/api/crm/v1/lc/ai-agent/scorecards/<id>/criteria" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
GET/api/crm/v1/lc/ai-agent/snippets

List snippets

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

Create snippet

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

Get snippet

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

Update snippet

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

Delete snippets

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

Ingest snippets

Oturum
İstek
curl -X POST "https://{slug}.crm.blesyum.app/api/crm/v1/lc/ai-agent/snippets/ingest" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
POST/api/crm/v1/lc/ai-agent/snippets/uningest

Uningest snippets

Oturum
İstek
curl -X POST "https://{slug}.crm.blesyum.app/api/crm/v1/lc/ai-agent/snippets/uningest" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
DELETE/api/crm/v1/lc/ai-agent/test-cases/{id}

Delete case

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

List runs

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

Get run

OturumYol parametresi: id
İstek
curl -X GET "https://{slug}.crm.blesyum.app/api/crm/v1/lc/ai-agent/test-runs/<id>" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
POST/api/crm/v1/lc/ai-agent/test-runs/{id}/rate

Rate

OturumYol parametresi: id
İstek
curl -X POST "https://{slug}.crm.blesyum.app/api/crm/v1/lc/ai-agent/test-runs/<id>/rate" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
GET/api/crm/v1/lc/ai-agent/test-runs/compare

Compare

Oturum
İstek
curl -X GET "https://{slug}.crm.blesyum.app/api/crm/v1/lc/ai-agent/test-runs/compare" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
GET/api/crm/v1/lc/ai-agent/test-suites

List suites

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

Create suite

Oturum
İstek
curl -X POST "https://{slug}.crm.blesyum.app/api/crm/v1/lc/ai-agent/test-suites" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
DELETE/api/crm/v1/lc/ai-agent/test-suites/{id}

Delete suite

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

List cases

OturumYol parametresi: id
İstek
curl -X GET "https://{slug}.crm.blesyum.app/api/crm/v1/lc/ai-agent/test-suites/<id>/cases" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
POST/api/crm/v1/lc/ai-agent/test-suites/{id}/cases

Add cases

OturumYol parametresi: id
İstek
curl -X POST "https://{slug}.crm.blesyum.app/api/crm/v1/lc/ai-agent/test-suites/<id>/cases" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
POST/api/crm/v1/lc/ai-agent/test-suites/{id}/run

Koşuyu **arka planda** başlat ve koşu kimliğini hemen dön.

OturumYol parametresi: id

50 vaka × 2 LLM çağrısı dakikalar sürer; isteği o kadar açık tutmak proxy zaman aşımına düşer ve kullanıcı "bozuldu" sanır. Panel GET /test-runs/{id} ile ilerlemeyi okur — koşu satırı running durumda ve sonuçlar geldikçe dolar.

İstek
curl -X POST "https://{slug}.crm.blesyum.app/api/crm/v1/lc/ai-agent/test-suites/<id>/run" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
GET/api/crm/v1/lc/ai-agent/tools

List tools

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

Create tool

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

Get tool

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

Update tool

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

Delete tool

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

Tools list

Oturum
İstek
curl -X GET "https://{slug}.crm.blesyum.app/api/crm/v1/lc/ai-agent/tools/list" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
POST/api/crm/v1/lc/ai-agent/tools/test-request

Test request

Oturum
İstek
curl -X POST "https://{slug}.crm.blesyum.app/api/crm/v1/lc/ai-agent/tools/test-request" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
GET/api/crm/v1/lc/ai-agent/topics

Topics

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

Update topic

OturumYol parametresi: id
İstek
curl -X PUT "https://{slug}.crm.blesyum.app/api/crm/v1/lc/ai-agent/topics/<id>" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
GET/api/crm/v1/lc/ai-agent/versions

List versions

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

Ajanın o anki yapılandırmasını yayınla. Snapshot şimdilik ajanın configidir;

Oturum

F2'den itibaren guidance + escalation + attribute + deployment de eklenir.

İstek
curl -X POST "https://{slug}.crm.blesyum.app/api/crm/v1/lc/ai-agent/versions" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
POST/api/crm/v1/lc/ai-agent/versions/{id}/revert

Revert version

OturumYol parametresi: id
İstek
curl -X POST "https://{slug}.crm.blesyum.app/api/crm/v1/lc/ai-agent/versions/<id>/revert" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
POST/api/crm/v1/lc/ai-agent/webpages

Add webpage

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

Sync webpage

OturumYol parametresi: id
İstek
curl -X POST "https://{slug}.crm.blesyum.app/api/crm/v1/lc/ai-agent/webpages/<id>/sync" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
GET/api/crm/v1/lc/ai-agent/websites

List websites

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

Create website

Oturum
İstek
curl -X POST "https://{slug}.crm.blesyum.app/api/crm/v1/lc/ai-agent/websites" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
DELETE/api/crm/v1/lc/ai-agent/websites/{websiteId}

Tekil veya toplu sil (FE websites/{id} veya websites/1,2,3).

OturumYol parametresi: websiteId
İstek
curl -X DELETE "https://{slug}.crm.blesyum.app/api/crm/v1/lc/ai-agent/websites/<websiteId>" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
POST/api/crm/v1/lc/ai-agent/websites/{websiteId}/discover

CF15 Paket 8: sitemap.xml üzerinden site sayfalarını keşfet ve YENİ olanları ekle.

OturumYol parametresi: websiteId

Sitemap yoksa 0 döner — hata değil: sitemap'i olmayan siteler de elle sayfa eklenerek kullanılabilir olmalı.

İstek
curl -X POST "https://{slug}.crm.blesyum.app/api/crm/v1/lc/ai-agent/websites/<websiteId>/discover" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
POST/api/crm/v1/lc/ai-agent/websites/{websiteId}/sync

Sync website

OturumYol parametresi: websiteId
İstek
curl -X POST "https://{slug}.crm.blesyum.app/api/crm/v1/lc/ai-agent/websites/<websiteId>/sync" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
GET/api/crm/v1/lc/ai-agent/websites/{websiteId}/webpages

List webpages

OturumYol parametresi: websiteId
İstek
curl -X GET "https://{slug}.crm.blesyum.app/api/crm/v1/lc/ai-agent/websites/<websiteId>/webpages" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
GET/api/crm/v1/lc/ai-agent/websites/{websiteId}/webpages/{webpageId}

Get webpage

OturumYol parametresi: websiteIdwebpageId
İstek
curl -X GET "https://{slug}.crm.blesyum.app/api/crm/v1/lc/ai-agent/websites/<websiteId>/webpages/<webpageId>" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
DELETE/api/crm/v1/lc/ai-agent/websites/{websiteId}/webpages/{webpageId}

Delete webpages

OturumYol parametresi: websiteIdwebpageId
İstek
curl -X DELETE "https://{slug}.crm.blesyum.app/api/crm/v1/lc/ai-agent/websites/<websiteId>/webpages/<webpageId>" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
GET/api/crm/v1/lc/ai-agent/workflow-triggers

Olay kataloğu — ekran tetikleyici listesini BURADAN çizer. Kodda ikinci bir liste

Oturum

tutmak, yayınlanmayan bir olayı seçilebilir yapardı.

İstek
curl -X GET "https://{slug}.crm.blesyum.app/api/crm/v1/lc/ai-agent/workflow-triggers" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
GET/api/crm/v1/lc/ai-agents

List agents

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

Create agent

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

Get agent

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

Update agent

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

Delete agent

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

Activate agent

OturumYol parametresi: id
İstek
curl -X POST "https://{slug}.crm.blesyum.app/api/crm/v1/lc/ai-agents/<id>/activate" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
POST/api/crm/v1/lc/ai-agents/{id}/bind

Bind

OturumYol parametresi: id
İstek
curl -X POST "https://{slug}.crm.blesyum.app/api/crm/v1/lc/ai-agents/<id>/bind" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
POST/api/crm/v1/lc/ai-agents/{id}/unbind

Unbind

OturumYol parametresi: id
İstek
curl -X POST "https://{slug}.crm.blesyum.app/api/crm/v1/lc/ai-agents/<id>/unbind" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
GET/api/crm/v1/lc/campaign-templates

GET /api/crm/v1/lc/campaign-templates — hazır şablonlar.

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

GET /api/crm/v1/lc/campaigns — kampanya datasource (dashboard).

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

POST /api/crm/v1/lc/campaigns — yeni kampanya.

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

GET /api/crm/v1/lc/campaigns/{id} — tek kampanya.

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

PUT /api/crm/v1/lc/campaigns/{id} — kampanya güncelle.

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

DELETE /api/crm/v1/lc/campaigns/{ids} — kampanya(ları) sil (virgül-ayrık id'ler).

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

GET /api/crm/v1/lc/campaigns/{id}/report — kampanya analitiği.

OturumYol parametresi: id

⚠ Yanıt {report, campaign}tır. Kampanyanın kendisi 2026-08-20'ye kadar DÖNMÜYORDU: uç onu yalnız sahiplik kontrolü için okuyup ATIYOR, panel ise r.data.campaignı okuyup başlığa basıyordu. Sonuç: rapor sayfasının h1i KALICI bir iskelet çubuğu olarak kalıyor ve sayfa "yüklenmiyor" gibi görünüyordu (kullanıcı raporu, 2026-08-20). Aynı sorgu iki işi görür.

İstek
curl -X GET "https://{slug}.crm.blesyum.app/api/crm/v1/lc/campaigns/<id>/report" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
GET/api/crm/v1/lc/campaigns/counts

GET /api/crm/v1/lc/campaigns/counts — şerit panelinin durum sayaçları.

Oturum

⚠ İzin crm.campaigns.view: sayaç listenin ÖZETİdir, listeyi okuyabilen onu da okuyabilmeli. Daha katı bir izin, satırı görüp sayısını göremeyen bir panel üretirdi.

İstek
curl -X GET "https://{slug}.crm.blesyum.app/api/crm/v1/lc/campaigns/counts" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
GET/api/crm/v1/lc/dashboard/chats/{id}/download-transcript

GET /api/crm/v1/lc/dashboard/chats/{id}/download-transcript — agent transcript indir.

OturumYol parametresi: id
İstek
curl -X GET "https://{slug}.crm.blesyum.app/api/crm/v1/lc/dashboard/chats/<id>/download-transcript" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
GET/api/crm/v1/lc/reports/campaigns

GET /api/crm/v1/lc/reports/campaigns — kampanya genel bakış raporu.

Oturum
İstek
curl -X GET "https://{slug}.crm.blesyum.app/api/crm/v1/lc/reports/campaigns" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
GET/api/crm/v1/lc/widget/bootstrap

GET /api/crm/v1/lc/widget/bootstrap (require_crm_widget). Ziyaretçiyi çöz/oluştur,

Herkese açık

gerekirse widget token'ı lc_widget cookie + body (widgetToken) ile ver, bootstrap döndür. Anonim (token yok) → yeni ziyaretçi; HMAC-identified (eşleşen token yok) → yeni oturum; dönen ziyaretçi (geçerli token) → reuse + taze per-load sessionId.

İstek
curl -X GET "https://{slug}.crm.blesyum.app/api/crm/v1/lc/widget/bootstrap" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
GET/api/crm/v1/lc/widget/campaigns

GET /api/crm/v1/lc/widget/campaigns — aktif kampanyalar (widget client-side koşul değerlendirir).

Herkese açık
İstek
curl -X GET "https://{slug}.crm.blesyum.app/api/crm/v1/lc/widget/campaigns" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
POST/api/crm/v1/lc/widget/campaigns/{id}/imp

POST /api/crm/v1/lc/widget/campaigns/{id}/imp — impression beacon (dakika dedupe + interaction).

Herkese açıkYol parametresi: id

Anonim de loglayabilir (user_id opsiyonel); sessionId yoksa no-op (campaigns::log_impression).

İstek
curl -X POST "https://{slug}.crm.blesyum.app/api/crm/v1/lc/widget/campaigns/<id>/imp" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
POST/api/crm/v1/lc/widget/chats

POST /api/crm/v1/lc/widget/chats — müşteri yeni chat (SSE: conversationCreated + endStream).

Herkese açık

Ajanlara ConversationCreated broadcast + Created trigger; bot yanıtı = CF10 seam.

İstek
curl -X POST "https://{slug}.crm.blesyum.app/api/crm/v1/lc/widget/chats" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
GET/api/crm/v1/lc/widget/chats/{id}/download-transcript

GET /api/crm/v1/lc/widget/chats/{id}/download-transcript — müşteri kendi chat transcript'i.

Herkese açıkYol parametresi: id
İstek
curl -X GET "https://{slug}.crm.blesyum.app/api/crm/v1/lc/widget/chats/<id>/download-transcript" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
POST/api/crm/v1/lc/widget/chats/{id}/mark-as-solved

Widget mark solved

Herkese açıkYol parametresi: id
İstek
curl -X POST "https://{slug}.crm.blesyum.app/api/crm/v1/lc/widget/chats/<id>/mark-as-solved" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
GET/api/crm/v1/lc/widget/chats/{id}/messages

GET /api/crm/v1/lc/widget/chats/{id}/messages — ziyaretçinin chat mesajları (eski-mesaj

Herkese açıkYol parametresi: id

sayfalama; ilk sayfa konuşma detayından pre-fill edilir, bu uç yukarı-kaydırma içindir). Ownership (widget_load_owned) → cross-visitor IDOR 404. {data:[item]}; FE cursor'a sarar.

İstek
curl -X GET "https://{slug}.crm.blesyum.app/api/crm/v1/lc/widget/chats/<id>/messages" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
POST/api/crm/v1/lc/widget/chats/{id}/messages

POST /api/crm/v1/lc/widget/chats/{id}/messages — müşteri mesajı (SSE: messageCreated +

Herkese açıkYol parametresi: id

endStream). Kilitli→400, reopen=submit_as_customer. Ajanlara newMessage broadcast. HandleLatestUserMessage = no-op (AI kurulu değil → bot yanıtı CF10 seam).

İstek
curl -X POST "https://{slug}.crm.blesyum.app/api/crm/v1/lc/widget/chats/<id>/messages" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
POST/api/crm/v1/lc/widget/chats/{id}/messages/{itemId}/feedback

POST /api/crm/v1/lc/widget/chats/{id}/mark-as-solved — ziyaretçi kendi chat'ini kapatır

Herkese açıkYol parametresi: iditemId

(bedesk müşteri close). Ownership → IDOR 404. Kilitli (abuse terminal) kapatılamaz. actor=None → closed_by müşteriye sızmaz (portal_mark_solved deseni). Kapatma durumu yoksa "Solved" üret. CF15 Paket 9 — müşteri bot cevabını değerlendirir (👍/👎 + isteğe bağlı yorum).

İstek
curl -X POST "https://{slug}.crm.blesyum.app/api/crm/v1/lc/widget/chats/<id>/messages/<itemId>/feedback" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
GET/api/crm/v1/lc/widget/chats/{id}/messages/{itemId}/sources

CF15 Paket 9 — bot cevabının kaynak kartları.

Herkese açıkYol parametresi: iditemId
İstek
curl -X GET "https://{slug}.crm.blesyum.app/api/crm/v1/lc/widget/chats/<id>/messages/<itemId>/sources" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
POST/api/crm/v1/lc/widget/chats/{id}/request-human

CF15 Paket 9 — "insanla görüşmek istiyorum" düğmesi.

Herkese açıkYol parametresi: id

Sınıflandırıcıya bir cümle yazdırmaktan farkı: **niyet açıktır**, LLM çağrısı ve kredi harcanmaz. Bot'a atanmamış (zaten insanda olan) konuşmada no-op.

İstek
curl -X POST "https://{slug}.crm.blesyum.app/api/crm/v1/lc/widget/chats/<id>/request-human" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
POST/api/crm/v1/lc/widget/chats/{id}/submit-form-data

POST /api/crm/v1/lc/widget/chats/{id}/submit-form-data — pre/post chat form gönderimi.

Herkese açıkYol parametresi: id
İstek
curl -X POST "https://{slug}.crm.blesyum.app/api/crm/v1/lc/widget/chats/<id>/submit-form-data" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
GET/api/crm/v1/lc/widget/chats/active

GET /api/crm/v1/lc/widget/chats/active — ziyaretçinin açık chat'i (yoksa null).

Herkese açık
İstek
curl -X GET "https://{slug}.crm.blesyum.app/api/crm/v1/lc/widget/chats/active" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
GET/api/crm/v1/lc/widget/conversations

GET /api/crm/v1/lc/widget/conversations — ziyaretçinin konuşmaları (iç alanlar gizli).

Herkese açık
İstek
curl -X GET "https://{slug}.crm.blesyum.app/api/crm/v1/lc/widget/conversations" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
GET/api/crm/v1/lc/widget/conversations/{id}

GET /api/crm/v1/lc/widget/conversations/{id} — konuşma detayı (mesajlar + kuyruk bilgisi).

Herkese açıkYol parametresi: id
İstek
curl -X GET "https://{slug}.crm.blesyum.app/api/crm/v1/lc/widget/conversations/<id>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
GET/api/crm/v1/lc/widget/customer

GET /api/crm/v1/lc/widget/customer — ziyaretçi profili (WidgetCustomerResource).

Herkese açık
İstek
curl -X GET "https://{slug}.crm.blesyum.app/api/crm/v1/lc/widget/customer" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
PUT/api/crm/v1/lc/widget/customers/email

PUT /api/crm/v1/lc/widget/customers/email — ziyaretçinin kendi e-postası.

Herkese açık

🔴 Panelin kimlik kapısından geçer (contact_identity::update_identity): kişide görünür birincil adres YOKSA birincil olur, varsa (ya da adres başka bir kişinin birincili ise) ikincil. 2026-09-30'a kadar burası koşulsuz İKİNCİL yazıyordu — oysa yanıt postası yalnız birincile gider (contacts::customer_email): "e-postanı bırak, dönelim" diyen bant ve talep formu, bırakılan adrese HİÇBİR ŞEY göndermiyordu; widget de adresi göremediği için formu her açılışta yeniden soruyordu. Biçim de ancak burada doğrulanır (422 email).

İstek
curl -X PUT "https://{slug}.crm.blesyum.app/api/crm/v1/lc/widget/customers/email" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
POST/api/crm/v1/lc/widget/customers/sync-external-data

POST /api/crm/v1/lc/widget/customers/sync-external-data — dış veri → custom attr senkronu.

Herkese açık
İstek
curl -X POST "https://{slug}.crm.blesyum.app/api/crm/v1/lc/widget/customers/sync-external-data" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
POST/api/crm/v1/lc/widget/file-entries

POST /api/crm/v1/lc/widget/file-entries — ZİYARETÇİNİN dosya yüklemesi.

Herkese açık

Ajan ucuyla aynı gövdeyi (store_upload_response) paylaşır; ayrılan tek şey KAPI ve KOTA. Ayrı bir uç olmasının sebebi: panelin ucu oturum ister, widget ziyaretçisinin çekirdek oturumu YOKTUR (kimliği widget token'ıdır) — 2026-08-18'e kadar widget de panelin ucuna gidiyor ve 401 alıyordu. 🔴 **Anonim kapıya kotasız yükleme AÇILMAZ.** Buraya ulaşmak için hesap gerekmiyor; sınırsız bırakmak, herhangi birinin kiracının deposunu doldurabilmesi demektir. Üç sınır birden uygulanır: 1. **kimlik**: require_visitor — bootstrap'tan geçmiş bir ziyaretçi oturumu şart 2. **hız**: ziyaretçi başına WIDGET_UPLOAD_LIMIT / WIDGET_UPLOAD_WINDOW 3. **boyut**: WIDGET_MAX_UPLOAD_BYTES (panelin tavanından KÜÇÜK — bilinçli)

İstek
curl -X POST "https://{slug}.crm.blesyum.app/api/crm/v1/lc/widget/file-entries" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
GET/api/crm/v1/lc/widget/help-center-data

GET /api/crm/v1/lc/widget/help-center-data — widget içi HC landing (kategori/section/makale).

Herkese açık
İstek
curl -X GET "https://{slug}.crm.blesyum.app/api/crm/v1/lc/widget/help-center-data" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
GET/api/crm/v1/lc/widget/home-article-list

GET /api/crm/v1/lc/widget/home-article-list — home ekranı için öne çıkan makaleler.

Herkese açık

L2: landing verisinden beslenir (öne çıkan makale seçimi L7'de inceltilir).

İstek
curl -X GET "https://{slug}.crm.blesyum.app/api/crm/v1/lc/widget/home-article-list" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
POST/api/crm/v1/lc/widget/visits

POST /api/crm/v1/lc/widget/visits — sayfa ziyareti kaydı (5sn dedupe). PageVisitCreated

Herkese açık

broadcast = L5. session_id touch widget gate'inde (resolve_visitor_by_token) yapılır.

İstek
curl -X POST "https://{slug}.crm.blesyum.app/api/crm/v1/lc/widget/visits" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
POST/api/crm/v1/lc/widget/visits/{id}/change-status

POST /api/crm/v1/lc/widget/visits/{id}/change-status — beacon (ended/active → ended_at).

Herkese açıkYol parametresi: id
İstek
curl -X POST "https://{slug}.crm.blesyum.app/api/crm/v1/lc/widget/visits/<id>/change-status" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
Bu sayfa işine yaradı mı?