Hızlı Giriş

Görüşmeyi kaydet

Tek istekte görüşme + açık bloklar: firma (yoksa açılır), kişi(ler), proje / fırsat, aşama, ürün, deneme, teklif, sipariş, rakip, pazar payı, fuar leadi ve özel nesne kayıtları; seçilen açık aksiyonlar kapanır, sonraki adım açılır (başkasına atanırsa görev olur). Yanıttaki undo_id ile undo_seconds içinde geri alınır. Benzer adlı firma varsa 409 similar — mevcut kaydı seçin ya da confirm_new: true gönderin.

POST/api/v1/qe

Yetkilendirme

Authorizationheaderzorunlu
Bearer belirteci: API anahtarı (sk_…), OAuth erişim belirteci (mcp_…) ya da mobil oturum (xk_…).
Modül: Ziyaretler / AktivitelerKapsam: crm.write

Gövde application/json

customerstringzorunlu
Firma adı.
template_idintegeristeğe bağlı
Şablon (zorunlu blok denetimi için).
visit_type / visit_date / topicstringisteğe bağlı
Görüşme türü (F2F, Online, Call, Deneme), tarih (YYYY-MM-DD), konu.
contact / contactsstring / arrayisteğe bağlı
Ana kişi; contacts ek katılımcılar (nota yazılır). Yeni kişi: contact: "__new__" + contact_new.
opp_id / opp_namestringisteğe bağlı
Proje: kimlik, __new__ (yeni) ya da boş (varsayılan proje).
note / resultstringisteğe bağlı
Görüşme notu ve sonucu.
next_action / action_date / assigneestringisteğe bağlı
Sonraki adım, tarihi (doğal dil de olur) ve atanan kullanıcı.
close_actionsarray<string>isteğe bağlı
Kapatılacak aksiyon anahtarları (/qe/context → open_actions[].key).
blocksarray<string>isteğe bağlı
Açık bloklar (ör. firsat, teklif, co:uretim_hatti); alanları gövdede /qe/config → blocks[].fields[].k anahtarlarıyla (stage_label, offer_price …). Özel nesne bloğunda co_<anahtar>_id mevcut kaydı seçer; yeni kayıt için co_<anahtar>_name ve co_<anahtar>_f<alan kimliği>.
confirm_newbooleanisteğe bağlı
Benzer adlı firma olsa da yeni aç.

Hatalar

HTTPerrorAnlamı
400invalidEksik ya da geçersiz alan (`message` ayrıntıyı verir).
409similarBenzer adlı firmalar var (`similar`); `confirm_new: true` ile yine açılır.
403moduleModül lisansta ya da kullanıcının izinlerinde kapalı.
İstek
curl -X POST https://ornek.solk.app/api/v1/qe \
  -H "Authorization: Bearer $SOLK_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "customer": "Alize Paketleme San. ve Tic. A.Ş.",
  "visit_type": "F2F",
  "topic": "Görüşme",
  "note": "Aylık 15 ton, 1,85 €/kg ve 60 gün vade konuşuldu. Hat 3'\''te deneme olumlu. Perşembe numune göndereceğiz.",
  "blocks": [
    "teklif",
    "co:uretim_hatti"
  ],
  "offer_price": "1,85",
  "payment_days": "60",
  "co_uretim_hatti_id": "1",
  "next_action": "Numune gönder",
  "action_date": "perşembe"
}'
Yanıt
{
  "advice": null,
  "closed": [],
  "co": [
    {
      "id": 1,
      "key": "uretim_hatti",
      "name": "Hat 3 — şişirme",
      "url": "/o/uretim_hatti/1"
    }
  ],
  "created": false,
  "customer": {
    "active": true,
    "at_risk": false,
    "city": "İstanbul",
    "currency": "EUR",
    "currency_default": "",
    "id": 1,
    "initials": "AP",
    "last_visit": "2026-10-06",
    "main_contact": {
      "email": "selin.dogan@alizepaketleme.example",
      "name": "Selin Doğan",
      "phone": "0 (212) 000 55 24",
      "wa": "902120005524"
    },
    "name": "Alize Paketleme San. ve Tic. A.Ş.",
    "next_visit_due": "2027-01-04",
    "open_opps": 1,
    "owner": {
      "full_name": "Deniz Aksoy",
      "id": 1,
      "role": "admin",
      "role_label": "Yönetici",
      "username": "admin"
    },
    "pending_state": "soon",
    "period": 90,
    "phone": "0 (212) 000 15 65",
    "potential_kg": 8000.0,
    "rid": "001xiy2LDMX4EY0",
    "sector": "Gıda ambalajı",
    "status": "AC",
    "status_label": "Aktif Müşteri",
    "unit": "kg",
    "visit_overdue_days": -90,
    "visit_state": "ok"
  },
  "message": "Alize Paketleme San. ve Tic. A.Ş. kaydedildi: ziyaret, proje #31 Mevcut Müşteri — Yenileme · 2026, üretim hattı: Hat 3 — şişirme.",
  "next_step": "İhtiyaç, hat ve aylık miktar potansiyelini netleştir (Need)",
  "ok": true,
  "opp": {
    "bant": 1,
    "base_currency": "EUR",
    "close_date": "2027-02-09",
    "cur_sym": "€",
    "currency": "EUR",
    "customer": "Alize Paketleme San. ve Tic. A.Ş.",
    "customer_city": "İstanbul",
    "customer_id": 1,
    "days_in_stage": 11,
    "detail_status": "",
    "fc": "Pipeline",
    "health": {
      "grade": "success",
      "label": "sağlıklı",
      "score": 92
    },
    "health_color": "g",
    "health_manual": false,
    "health_note": "",
    "id": 31,
    "initials": "AP",
    "is_account": false,
    "is_open": true,
    "last_update": "2026-10-03",
    "lifetime_left": 169,
    "line": "",
    "name": "Mevcut Müşteri — Yenileme · 2026",
    "next_step": "İhtiyaç, hat ve aylık miktar potansiyelini netleştir (Need)",
    "offer_price": null,
    "owner": {
      "full_name": "Deniz Aksoy",
      "id": 1,
      "role": "admin",
      "role_label": "Yönetici",
      "username": "admin"
    },
    "payment_days": null,
    "potential_kg": 6000.0,
    "prob": 0.1,
    "probability": null,
    "product": "PU-SL 200 Solventsiz Laminasyon Yapıştırıcısı",
    "product_id": 1,
    "pu": "€/kg",
    "rid": "006yvlKAVcMKhPf",
    "sla_days": 30,
    "sla_left": 19,
    "source": "Bayi / distribütör",
    "stage": "Qualify",
    "stage_label": "Qualify",
    "start_date": "2026-09-25",
    "trend": "",
    "trend_label": "Otomatik",
    "type": "Mevcut Müşteri — Yenileme",
    "unit": "kg",
    "unit_code": "kg",
    "value": 302000.0,
    "value_base": 302000.0,
    "value_short": "302K"
  },
  "opp_new": false,
  "parts": [
    "ziyaret",
    "proje #31 Mevcut Müşteri — Yenileme · 2026"
  ],
  "task": null,
  "undo_id": 1,
  "undo_seconds": 600,
  "visit": {
    "action_date": "2026-10-08",
    "action_done": false,
    "action_state": "soon",
    "contact": "",
    "customer": "Alize Paketleme San. ve Tic. A.Ş.",
    "customer_id": 1,
    "date": "2026-10-06",
    "id": 107,
    "line": "",
    "next_action": "Numune gönder",
    "note": "Aylık 15 ton, 1,85 €/kg ve 60 gün vade konuşuldu. Hat 3'te deneme olumlu. Perşembe numune göndereceğiz.",
    "opp": "Mevcut Müşteri — Yenileme · 2026",
    "opp_id": 31,
    "product": "",
    "result": "",
    "rid": "00URZrmvSihtGjU",
    "topic": "Görüşme",
    "type": "F2F",
    "user": "Deniz Aksoy"
  },
  "warnings": []
}

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