CRM

conversations

40 uç · /api/crm/v1/conversations

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

GET/api/crm/public/v1/conversations

List conv

API anahtarı
İstek
curl -X GET "https://{slug}.crm.blesyum.app/api/crm/public/v1/conversations" \
  -H "Authorization: Bearer blsk_..." \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
GET/api/crm/public/v1/conversations/{id}

Get conv

API anahtarıYol parametresi: id
İstek
curl -X GET "https://{slug}.crm.blesyum.app/api/crm/public/v1/conversations/<id>" \
  -H "Authorization: Bearer blsk_..." \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
POST/api/crm/public/v1/conversations/{id}/assign

Assign

API anahtarıYol parametresi: id
İstek
curl -X POST "https://{slug}.crm.blesyum.app/api/crm/public/v1/conversations/<id>/assign" \
  -H "Authorization: Bearer blsk_..." \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
POST/api/crm/public/v1/conversations/{id}/close

Close

API anahtarıYol parametresi: id
İstek
curl -X POST "https://{slug}.crm.blesyum.app/api/crm/public/v1/conversations/<id>/close" \
  -H "Authorization: Bearer blsk_..." \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
POST/api/crm/public/v1/conversations/{id}/open

Open

API anahtarıYol parametresi: id
İstek
curl -X POST "https://{slug}.crm.blesyum.app/api/crm/public/v1/conversations/<id>/open" \
  -H "Authorization: Bearer blsk_..." \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
GET/api/crm/public/v1/conversations/{id}/participants

List participants

API anahtarıYol parametresi: id
İstek
curl -X GET "https://{slug}.crm.blesyum.app/api/crm/public/v1/conversations/<id>/participants" \
  -H "Authorization: Bearer blsk_..." \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
POST/api/crm/public/v1/conversations/{id}/participants

Add participant

API anahtarıYol parametresi: id
İstek
curl -X POST "https://{slug}.crm.blesyum.app/api/crm/public/v1/conversations/<id>/participants" \
  -H "Authorization: Bearer blsk_..." \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
DELETE/api/crm/public/v1/conversations/{id}/participants/{contactId}

Remove participant

API anahtarıYol parametresi: idcontactId
İstek
curl -X DELETE "https://{slug}.crm.blesyum.app/api/crm/public/v1/conversations/<id>/participants/<contactId>" \
  -H "Authorization: Bearer blsk_..." \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
POST/api/crm/public/v1/conversations/{id}/redact

Redact

API anahtarıYol parametresi: id
İstek
curl -X POST "https://{slug}.crm.blesyum.app/api/crm/public/v1/conversations/<id>/redact" \
  -H "Authorization: Bearer blsk_..." \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
POST/api/crm/public/v1/conversations/{id}/reply

Görüşmeye yanıt yaz

API anahtarıYol parametresi: id

`type` alanı yanıtı KİMİN yazdığını söyler: `admin` (temsilci) ya da `user` (müşteri). `admin` seçildiğinde `admin_id` zorunludur. `message_type` varsayılan `comment`tir; `note` müşteriye GÖRÜNMEYEN dahili nottur ve webhook'a `conversation.replied` olarak gitmez.

Gerekli kapsam: conversations.write (dahili not için de aynı kapsam)

İstek
curl -X POST "https://{slug}.crm.blesyum.app/api/crm/public/v1/conversations/<id>/reply" \
  -H "Authorization: Bearer blsk_..." \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -d '{
  "type": "admin",
  "admin_id": "0193c4e2-1111-7c3d-9e5f-1a2b3c4d5e6f",
  "body": "Merhaba, siparişiniz kargoya verildi.",
  "message_type": "comment"
}'
Yanıt
{
  "data": {
    "type": "conversation",
    "id": "0193c4e2-2222-7c3d-9e5f-1a2b3c4d5e6f",
    "state": "open"
  },
  "trace_id": "01JC…"
}
POST/api/crm/public/v1/conversations/{id}/snooze

Snooze

API anahtarıYol parametresi: id
İstek
curl -X POST "https://{slug}.crm.blesyum.app/api/crm/public/v1/conversations/<id>/snooze" \
  -H "Authorization: Bearer blsk_..." \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
POST/api/crm/public/v1/conversations/{id}/unsnooze

Unsnooze

API anahtarıYol parametresi: id
İstek
curl -X POST "https://{slug}.crm.blesyum.app/api/crm/public/v1/conversations/<id>/unsnooze" \
  -H "Authorization: Bearer blsk_..." \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
POST/api/crm/public/v1/conversations/search

Search conv

API anahtarı
İstek
curl -X POST "https://{slug}.crm.blesyum.app/api/crm/public/v1/conversations/search" \
  -H "Authorization: Bearer blsk_..." \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
GET/api/crm/v1/conversations

List conversations

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

Create conversation

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

Get conversation

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

Konuşma alanlarını güncelle (konu/müşteri/öncelik/grup) — bedesk update. PUT.

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

List items

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

Create item

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

Mesaj/not düzenle (bedesk messages PUT). Konuşmaya göre kapsanır.

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

Mesaj/not soft-delete (bedesk messages DELETE).

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

CF15 Paket 9 — temsilci bot cevabını değerlendirir. Müşteri oyundan AYRI satır

OturumYol parametresi: iditemId

(`author_kind`): ikisi aynı cevaba farklı görüş bildirebilir ve CSAT'ta müşterinin oyu esastır.

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

CF15 Paket 9 — bot cevabının dayandığı kaynaklar (inbox kaynak paneli).

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

E-posta-kaynaklı mesajın orijinal e-postası (bedesk messages/{id}/email).

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

Set rating

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

Reply as agent

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

Reply as customer

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

GET conversations/{id}/summary — saklanan özet (yoksa summary:null).

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

DELETE conversations/{id}/summary — özeti sil (yeniden üretilebilir).

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

Generate summary

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

Add tag

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

GET `/conversations/{id}/wa-templates` — bu konuşmada gönderilebilecek şablonlar + pencere.

OturumYol parametresi: id

**Neden ayrı bir uç:** Ayarlar'daki liste `crm.channel_templates.view` ister ve ajan çoğu kiracıda o izne sahip DEĞİLDİR. Şablonu seçecek olan ajandır; karar konuşma iznine bağlanır — yanıt yazabilen, gönderebileceği şablonu görebilmelidir. `window_open` da burada döner: pencere kapalıyken composer'ın "yaz ve gönder" demeye devam etmesi, ajanın yazıp gönderip **422** almasıdır — kullanıcı bunu ürün arızası sanar.

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

Assign

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

Konuşmaları toplu sil (bedesk ConversationController::destroy çoklu). RLS yalnız

Oturum

tenant satırlarını siler; izin = update (ayrı delete-izni yok, status/atama ile aynı kapı).

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

Konuşmaları gruba transfer et (bedesk group/change). Opsiyonel private note.

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

Merge

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

New conv agent

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

Change status

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

Toplu etiket EKLE (bedesk conversations/tags/add).

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

Toplu etiket KALDIR (bedesk conversations/tags/remove).

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