Fuarlar ve leadler
Leadi CRM'e aktar
Leadi firmaya aktarır (web'deki aktarma kartıyla aynı çekirdek): kayıtlı firmaya ya da yeni aday firma olarak; kişiler eşlenen kişiye bağlanır (boş alanları tamamlanır), yeni kişi açılır ya da atlanır; isteğe bağlı yeni satış projesi ya da açık projeye bağlama; fuar ziyareti (katılanlarla). Lead Aktarıldı olur. Gövde boşsa varsayılan: kayıtlı / adı eşleşen firma, yeni proje, ziyaret.
Yetkilendirme
AuthorizationheaderzorunluBearer belirteci: API anahtarı (sk_…), OAuth erişim belirteci (mcp_…) ya da mobil oturum (xk_…).
Modül: Fuar leadleriKapsam:
crm.writeYol parametreleri
idintegerzorunluLead kimliği.
Gövde application/json
modestringisteğe bağlıFirma: kayıtlı ya da yeni aday.
Değerler
existingnewcustomer_idintegeristeğe bağlımode: existing için firma.peopleobjectisteğe bağlıKişi sırası (
i) → new · skip · <kişi kimliği>.opp_modestringisteğe bağlıvarsayılan: newSatış projesi.
Değerler
newexistingnoneopp_idintegeristeğe bağlıopp_mode: existing için açık proje.make_visitbooleanisteğe bağlıvarsayılan: TrueFuar ziyareti kaydı.
Hatalar
| HTTP | error | Anlamı |
|---|---|---|
400 | invalid | Eksik ya da geçersiz alan (`message` ayrıntıyı verir). |
404 | not_found | Kayıt bulunamadı. |
403 | module | Modül lisansta ya da kullanıcının izinlerinde kapalı. |
İstek
curl -X POST https://ornek.solk.app/api/v1/leads/27/convert \
-H "Authorization: Bearer $SOLK_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"mode": "existing",
"customer_id": 1,
"people": {
"0": "new",
"1": "new"
},
"opp_mode": "none",
"make_visit": true
}'const res = await fetch("https://ornek.solk.app/api/v1/leads/27/convert", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.SOLK_API_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
"mode": "existing",
"customer_id": 1,
"people": {
"0": "new",
"1": "new"
},
"opp_mode": "none",
"make_visit": true
}),
});
const data = await res.json();import os, requests
r = requests.post(
"https://ornek.solk.app/api/v1/leads/27/convert",
headers={"Authorization": f"Bearer {os.environ['SOLK_API_KEY']}"},
json={
"mode": "existing",
"customer_id": 1,
"people": {
"0": "new",
"1": "new"
},
"opp_mode": "none",
"make_visit": True
},
)
print(r.json())Yanıt
{
"created": 2,
"customer": "Alize Paketleme San. ve Tic. A.Ş.",
"customer_id": 1,
"lead": {
"can_edit": true,
"city": "",
"company": "Alize Paketleme San. ve Tic. A.Ş.",
"contact_label": "Selin Kaya +1",
"contact_name": "Selin Kaya",
"created_at": "2026-10-09T23:14:43",
"customer_id": 1,
"email": "",
"fair": "Ambalaj Fuarı 2026 (örnek)",
"fair_id": 1,
"id": 27,
"initials": "AP",
"interest": "Sıcak",
"line": "",
"link_contact_id": 60,
"link_customer": "Alize Paketleme San. ve Tic. A.Ş.",
"link_customer_id": 1,
"next_action": "",
"next_date": null,
"note": "",
"opp_id": null,
"opp_type": "",
"owner": {
"full_name": "Deniz Aksoy",
"id": 1,
"role": "admin",
"role_label": "Yönetici",
"username": "admin"
},
"people": [
{
"cid": null,
"email": null,
"name": "Emre Tan",
"phone": "+90 532 444 55 66",
"title": "Ar-Ge"
}
],
"phone": "",
"potential_kg": null,
"products": "",
"products_text": "",
"project_note": "",
"rid": "00Q8D5NoUERPzEA",
"sector": "",
"status": "Aktarıldı",
"status_eff": "Aktarıldı",
"supplier": "",
"task_id": null,
"timing": "",
"title": "",
"unit": "kg",
"visitor_type": "Potansiyel müşteri",
"wa": "",
"website": ""
},
"linked": 0,
"message": "Lead CRM'e aktarıldı (kayıtlı firma): Alize Paketleme San. ve Tic. A.Ş. · 2 yeni kişi. Proje kazanılınca lead 'Kazanıldı' olur.",
"ok": true,
"opp_id": null
}Örnek yanıt örnek veriyle çalışan bir v54 kurulumundan alındı; listeler en çok iki öğeyle kısaltıldı.