Fırsat ve talep formları

Form yapılandırması

Yeni fırsat (opp) ya da yeni destek talebi (ticket) formunu çizmek için gereken her şey — Hızlı Giriş'teki gibi: şablonlar (blok sırası, st = open açık · chip çip · off gizli, req zorunlu, cond koşul, def varsayılanlar, fl görünen alanlar) ve şablonun çekirdek varsayılanları düz anahtarlar olarak (fırsat: type, stage, close_days; talep: kind, priority, sla_hours, category, assign, source), kullanıcının modüllerine göre blok tanımları (blocks[].fields[]: k anahtar, t tür, o seçenekler), default_template (kullanıcının ekibi → varsayılan) ve listeler. Fırsat: opp_types, lead_sources, forecast_cats, currencies, first_stage, lifetime_days, users. Talep: kinds (talep tipleri), categories (boşsa kategori sorulmaz), sources, sla_hours (öncelik → standart çözüm süresi), users (ekipleriyle). Modül paketinizde ya da yetkinizde yoksa 403 module.

GET/api/v1/forms/{kind}/config

Yetkilendirme

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

Yol parametreleri

kindstringzorunlu
Form.
Değerleroppticket

Hatalar

HTTPerrorAnlamı
403moduleModül lisansta ya da kullanıcının izinlerinde kapalı.
404not_foundKayıt bulunamadı.
İstek
curl https://ornek.solk.app/api/v1/forms/opp/config \
  -H "Authorization: Bearer $SOLK_API_KEY"
Yanıt
{
  "base_currency": "EUR",
  "blocks": [
    {
      "fields": [
        {
          "k": "product",
          "l": "Ürün",
          "ph": "Ürün adı (yeni ise eklenir)",
          "t": "product"
        }
      ],
      "icon": "box",
      "k": "urun",
      "label": "Ürün ve miktar",
      "obj": "Fırsat"
    },
    {
      "fields": [
        {
          "k": "offer_price",
          "l": "Birim fiyat",
          "ph": "1,85",
          "t": "money",
          "u": "€ / kg"
        }
      ],
      "icon": "file-earmark-text",
      "k": "teklif",
      "label": "Fiyat ve vade",
      "obj": "Teklif"
    }
  ],
  "conds": [
    [
      ""
    ],
    [
      "has_opp"
    ]
  ],
  "currencies": [
    "EUR",
    "USD"
  ],
  "default_template": 1,
  "first_stage": "Qualify",
  "forecast_cats": [
    "Pipeline",
    "Best Case"
  ],
  "kind": "opp",
  "lead_sources": [
    "Web formu",
    "Fuar"
  ],
  "lifetime_days": 180,
  "ok": true,
  "opp_types": [
    "Yeni Müşteri",
    "Mevcut Müşteri — Ek Satış"
  ],
  "priorities": [
    "Düşük",
    "Normal"
  ],
  "stage_rules": true,
  "templates": [
    {
      "blocks": [
        {
          "cond": "",
          "def": {},
          "fl": null,
          "k": "urun",
          "label": "",
          "req": false,
          "st": "open"
        }
      ],
      "close_days": 120,
      "icon": "briefcase",
      "id": 1,
      "is_default": true,
      "kind": "opp",
      "name": "Yeni iş",
      "stage": "",
      "team": "",
      "type": "Yeni Müşteri"
    },
    {
      "blocks": [
        {
          "cond": "",
          "def": {},
          "fl": null,
          "k": "urun",
          "label": "",
          "req": false,
          "st": "open"
        }
      ],
      "close_days": 60,
      "icon": "graph-up-arrow",
      "id": 2,
      "is_default": false,
      "kind": "opp",
      "name": "Ek satış",
      "stage": "",
      "team": "",
      "type": "Mevcut Müşteri — Ek Satış"
    }
  ],
  "unit": "kg",
  "users": [
    {
      "id": 1,
      "name": "Deniz Aksoy"
    }
  ]
}

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