Fırsat ve talep formları

Şablonla kaydet

Tek istekte fırsat ya da destek talebi + açık bloklar. Fırsat: firma (yoksa aday olarak açılır; benzer ad → 409 similar, mevcut kaydı seçin ya da confirm_new: true), ad, tür, sorumlu, değer, kapanış; bloklar ürün ve miktar, teklif (teklif geçmişine yazılır), öngörü, kaynak, karar vericiler (contact_ids), deneme, ilk görevler (tasks), ek bilgiler (cf), özel nesne bağları (co). Şablonda aşama kuralı yoksa şablonun başlangıç aşaması kullanılır. Talep: firma kayıtlı olmayabilir (firma adıyla açılır), kişi (contact_id ya da contact_name + email + phone), konu, açıklama, tip (kind, boşsa şablonun tipi), öncelik (standart çözüm süresi; şablonun önceliğiyle aynıysa şablonun süresi), görevli (assigned_to yoksa şablonun atama kuralı: ekipte en az açık talebi olan, firma sorumlusu, açan kişi ya da belirli kullanıcı), kategori; bloklar ürün / lot, sipariş, proje, kanal, saha ziyareti (görevliye görev), ek bilgiler. blocks gönderilmezse şablonun açık blokları ve varsayılanları uygulanır. Zorunlu blok boşsa 400 invalid.

POST/api/v1/forms/{kind}

Yetkilendirme

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

Yol parametreleri

kindstringzorunlu
Form.
Değerleroppticket

Gövde application/json

template_idintegeristeğe bağlı
Şablon (/forms/{kind}/config → templates[].id); boşsa kullanıcının varsayılanı.
customer_id / customerinteger / stringisteğe bağlı
Firma kimliği ya da adı (fırsatta biri zorunlu).
blocksarray<string>isteğe bağlı
Açık bloklar (ör. urun, teklif, gorev, co:uretim_hatti); alanları gövdede blocks[].fields[].k anahtarlarıyla (product, potential_kg, offer_price …).
name / type / user_id / value / currency / close_datestringisteğe bağlı
Fırsat çekirdeği: ad, tür, sorumlu, yıllık değer, para birimi, kapanış (YYYY-MM-DD).
subject / detail / kind / priority / category / assigned_tostringisteğe bağlı
Talep çekirdeği: konu (talepte zorunlu), açıklama, tip, öncelik (Düşük, Normal, Yüksek, Acil), kategori, görevli.
contact_idsarray<integer>isteğe bağlı
Fırsatın karar vericileri (firmanın kişileri).
tasksarrayisteğe bağlı
İlk görevler: "Numune gönder | 5 | Görev" (başlık | gün | tür) ya da {title, days, kind}.
cfobjectisteğe bağlı
Ek bilgiler: {alan anahtarı: değer} (Ayarlar › Özel alanlar).
coobjectisteğe bağlı
Özel nesne bağları: {nesne anahtarı: kayıt 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ı.
404not_foundKayıt bulunamadı.
İstek
curl -X POST https://ornek.solk.app/api/v1/forms/opp \
  -H "Authorization: Bearer $SOLK_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "template_id": 1,
  "customer_id": 1,
  "name": "Hat 3 şişirme projesi",
  "currency": "EUR",
  "close_date": "2027-01-04",
  "blocks": [
    "urun",
    "teklif",
    "gorev",
    "co:uretim_hatti"
  ],
  "product": "PU-SL 200 Solventsiz Laminasyon Yapıştırıcısı",
  "potential_kg": "15000",
  "offer_price": "1,85",
  "payment_days": "60",
  "tasks": [
    "Numune gönder | 5 | Görev",
    "Teklifi ara | 10 | Arama"
  ],
  "co": {
    "uretim_hatti": 1
  }
}'
Yanıt
{
  "customer_created": false,
  "message": "Fırsat açıldı: #55 Hat 3 şişirme projesi · Alize Paketleme San. ve Tic. A.Ş.",
  "ok": true,
  "opp": {
    "bant": 0,
    "base_currency": "EUR",
    "close_date": "2027-01-04",
    "cur_sym": "€",
    "currency": "EUR",
    "customer": "Alize Paketleme San. ve Tic. A.Ş.",
    "customer_city": "İstanbul",
    "customer_id": 1,
    "days_in_stage": 0,
    "detail_status": "",
    "fc": "Pipeline",
    "health": {
      "grade": "success",
      "label": "sağlıklı",
      "score": 100
    },
    "health_color": "g",
    "health_manual": false,
    "health_note": "",
    "id": 55,
    "initials": "AP",
    "is_account": false,
    "is_open": true,
    "last_update": "2026-10-06",
    "lifetime_left": 180,
    "line": "",
    "name": "Hat 3 şişirme projesi",
    "next_step": "Karar verici / yetkili kişiyi belirle (Authority)",
    "offer_price": 1.85,
    "owner": {
      "full_name": "Deniz Aksoy",
      "id": 1,
      "role": "admin",
      "role_label": "Yönetici",
      "username": "admin"
    },
    "payment_days": 60,
    "potential_kg": 15000.0,
    "prob": 0.1,
    "probability": null,
    "product": "PU-SL 200 Solventsiz Laminasyon Yapıştırıcısı",
    "product_id": 1,
    "pu": "€/kg",
    "rid": "006ib7dvC23Bvtw",
    "sla_days": 30,
    "sla_left": 30,
    "source": "Bayi / distribütör",
    "stage": "Qualify",
    "stage_label": "Qualify",
    "start_date": "2026-10-06",
    "trend": "",
    "trend_label": "Otomatik",
    "type": "Yeni Müşteri",
    "unit": "kg",
    "unit_code": "kg",
    "value": 333000.0,
    "value_base": 333000.0,
    "value_short": "333K"
  },
  "parts": [
    "fırsat #55",
    "teklif kaydı"
  ],
  "tasks": 2,
  "template_id": 1
}

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