E-posta

Yazışmayı kayda bağla

opp projeyi değiştirir (opp_id), link bir kayda bağlar (kind, obj_id), unlink bağı kaldırır, dismiss öneriyi yok sayar. Yalnız yazışmanın sahibi, firmanın sorumlusu ya da yönetici değiştirebilir.

POST/api/v1/threads/{id}/{action}

Yetkilendirme

Authorizationheaderzorunlu
Bearer belirteci: API anahtarı (sk_…), OAuth erişim belirteci (mcp_…) ya da mobil oturum (xk_…).
Kapsam: crm.write

Yol parametreleri

idintegerzorunlu
Yazışma kimliği.
actionstringzorunlu
Eylem.
Değerleropplinkunlinkdismiss

Gövde application/json

opp_idintegeristeğe bağlı
Proje (opp).
kindstringisteğe bağlı
Kayıt türü (link/unlink).
obj_idintegeristeğe bağlı
Kayıt kimliği.

Hatalar

HTTPerrorAnlamı
400invalidEksik ya da geçersiz alan (`message` ayrıntıyı verir).
403forbiddenKaydı görme / düzenleme yetkiniz yok.
404not_foundKayıt bulunamadı.
İstek
curl -X POST https://ornek.solk.app/api/v1/threads/1/opp \
  -H "Authorization: Bearer $SOLK_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "opp_id": 31
}'
Yanıt
{
  "msg": "Yazışma projesi: Mevcut Müşteri — Yenileme · 2026.",
  "ok": true,
  "thread": {
    "companies": [
      {
        "contacts": [
          {
            "email": "selin.dogan@alizepaketleme.example",
            "id": 1,
            "name": "Selin Doğan"
          }
        ],
        "id": 1,
        "name": "Alize Paketleme San. ve Tic. A.Ş.",
        "role": "main"
      }
    ],
    "customer": "Alize Paketleme San. ve Tic. A.Ş.",
    "customer_id": 1,
    "id": 1,
    "last_at": "2026-10-01T15:06:59",
    "last_dir": "out",
    "linkables": [
      {
        "items": [
          {
            "id": 74,
            "label": "30.09.2026 · Call · Tanışma"
          }
        ],
        "kind": "visit",
        "klabel": "Ziyaret / görüşme"
      }
    ],
    "links": [],
    "may_edit": true,
    "messages": [
      {
        "at": "2026-09-30T17:06:59",
        "body": "Merhaba Deniz Bey,\n\nNumuneler bize ulaştı, hat denemesini perşembe yapacağız. Aylık 12 ton için güncel fiyatınızı paylaşabilir misiniz?\n\nİyi çalışmalar",
        "cc": "",
        "dir": "in",
        "from_addr": "selin.dogan@alizepaketleme.example",
        "from_name": "Selin Doğan",
        "hidden": false,
        "id": 1,
        "subject": "Numune ve fiyat teklifi",
        "to": "deniz@ornekkimya.com.tr"
      }
    ],
    "n": 2,
    "opp": "Mevcut Müşteri — Yenileme · 2026",
    "opp_how": "manual",
    "opp_id": 31,
    "opp_note": "elle seçildi",
    "opps": [
      {
        "id": 44,
        "name": "Müşteri Takibi",
        "open": true,
        "stage_label": "Müşteri Takibi"
      }
    ],
    "peer": "selin.dogan@alizepaketleme.example",
    "reply": {
      "contact_id": 1,
      "customer_id": 1,
      "in_reply_to": "<a2@mail.ornek>",
      "opp_id": 31,
      "subject": "Re: Numune ve fiyat teklifi",
      "to": "selin.dogan@alizepaketleme.example"
    },
    "subject": "Numune ve fiyat teklifi",
    "suggested": false,
    "suggestions": [
      {
        "date": "2026-09-30",
        "how": "",
        "id": 74,
        "kind": "visit",
        "klabel": "Ziyaret / görüşme",
        "label": "Call 30.09.2026",
        "nav": {
          "id": 74,
          "kind": "visit",
          "screen": "action"
        },
        "url": "/action/visit/74",
        "why": "yazışmayla aynı günlerde görüşme"
      }
    ],
    "waiting": false
  }
}

Örnek yanıt örnek veriyle çalışan bir v22 kurulumundan alındı; listeler en çok iki öğeyle kısaltıldı.