Solk ERP API
Sipariş sonucunu bildir
Siparişin ERP'deki durumunu yazar. status: sent · open · shipped · invoiced · closed · cancelled · error. ext_no ERP'deki belge numarası (sipariş satırında görünür). Sevk edildi / faturalandı / kapandı gelince CRM siparişi kapanır (bağlantı ayarı); iptal gelince sipariş sahibine bildirim gider. Cari ERP'de yeni açıldıysa customer_ext_id (+ customer_code) ile firma eşleşmesi kaydedilir. error + error metni gönderimi hatalı işaretler (CRM'de Yeniden dene). Durum değiştikçe yeniden çağrılabilir.
Yetkilendirme
AuthorizationheaderzorunluSolk ERP API anahtarı (erp_…): Ayarlar → Muhasebe ve ERP → Solk ERP API bağlantısı açılınca bir kez gösterilir.
X-Solk-Erp-Key başlığıyla da gönderilebilir.Yol parametreleri
idintegerzorunluGönderim kimliği (
GET /api/erp/v1/orders → id).Gövde application/json
statusstringzorunluERP'deki durum.
Değerler
sentopenshippedinvoicedclosedcancellederrorext_nostringisteğe bağlıERP belge numarası.
ext_idstringisteğe bağlıERP belge kimliği.
ext_statusstringisteğe bağlıERP'nin kendi durum metni.
customer_ext_idstringisteğe bağlıERP'de yeni açılan carinin kimliği.
customer_codestringisteğe bağlıYeni carinin kodu.
errorstringisteğe bağlıstatus: error iken hata metni.Hatalar
| HTTP | error | Anlamı |
|---|---|---|
401 | unauthorized | Belirteç yok, geçersiz, süresi dolmuş ya da iptal edilmiş. |
400 | invalid | Eksik ya da geçersiz alan (`message` ayrıntıyı verir). |
404 | not_found | Kayıt bulunamadı. |
429 | rate_limited | Dakikalık istek sınırı aşıldı (`Retry-After`). |
İstek
curl -X POST https://ornek.solk.app/api/erp/v1/orders/1 \
-H "Authorization: Bearer $SOLK_ERP_KEY" \
-H "Content-Type: application/json" \
-d '{
"status": "open",
"ext_no": "SS-2026-0193",
"ext_id": "88412"
}'const res = await fetch("https://ornek.solk.app/api/erp/v1/orders/1", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.SOLK_ERP_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
"status": "open",
"ext_no": "SS-2026-0193",
"ext_id": "88412"
}),
});
const data = await res.json();import os, requests
r = requests.post(
"https://ornek.solk.app/api/erp/v1/orders/1",
headers={"Authorization": f"Bearer {os.environ['SOLK_ERP_KEY']}"},
json={
"status": "open",
"ext_no": "SS-2026-0193",
"ext_id": "88412"
},
)
print(r.json())Yanıt
{
"id": 1,
"ok": true,
"status": "open"
}Örnek yanıt örnek veriyle çalışan bir v54 kurulumundan alındı; listeler en çok iki öğeyle kısaltıldı.