# Stok Güncelleme

> Stok Güncelleme, Evobulut ön muhasebe / ERP yazılımının Stok modülüne ait bir REST API servisidir. POST yöntemiyle `https://ws.evobulut.com/api/stok/base/` adresine JSON gönderilerek çağrılır.

- **Modül:** Stok
- **Yöntem:** POST
- **Endpoint:** `https://ws.evobulut.com/api/stok/base/`
- **Kimlik doğrulama:** Login servisinden alınan Token UID
- **Son güncelleme:** 2026-08-27
- **Doküman:** https://dev.evobulut.com/servis/stok/stok-guncelleme-87

## Açıklama

**ÖNEMLİ — Güncelleme Davranışı**
- **Gönderilmeyen alanlar güncellenmez.** JSON içine konulmayan alanlar kaydın mevcut değerini korur, silinmez. Yalnızca gönderdiğiniz alanlar değişir — örneğin sadece satış fiyatını güncellemek için `a_id`, `a_kod`, `a_adi`, `a_brm_id` ve `a_fiyat_sat` göndermeniz yeterlidir.
- **Marka ve Model kaydı yoksa otomatik oluşturulur.** `a_marka_adi` / `a_model_adi` alanlarıyla **ad** gönderilir. Gönderilen ad tanımlı değilse yeni kayıt açılır ve ID'si stoğa bağlanır; tanımlıysa mevcut kayıt kullanılır (mükerrer kayıt oluşmaz). Model markaya bağlı olduğundan, marka değiştirilip model gönderilmezse mevcut modelin adı yeni marka altında aranır/açılır.

| cmd | İlgili komut |
| --- | --- |
| UID | KULLANICI_UID |
| a_id | Kayıt Anahtar ID |
| a_kod | Kodu |
| a_adi | Adı |
| a_fiyat_al | Alış Fiyatı |
| a_fiyat_sat | Satış Fiyatı |
| a_doviz_id_al | Alış Fiyatı Döviz ID |
| a_doviz_id_sat | Satış Fiyatı Döviz ID //ad zorunlu field, bos kaydetmez |
| a_brm_id | Birim ID para formatında (,) virgül olmayacak. |
| a_kdv_al | Alış KDV Oranı //para formati 213331.12 (kurus kisminda 2 hane olacak ve kurus noktayla ayrilacak) |
| a_kdv_sat | Satış KDV Oranı |
| a_kart_tur | Kart Turu |
| a_alt_adi | Alternatif Adi |
| a_ozel_fiy1 | Özel Fiyat 1 |
| a_ozel_fiy2 | Özel Fiyat 2 |
| a_ozel_fiy3 | Özel Fiyat 3 |
| a_gtip_no | GTIP No |
| a_en | En (mm) |
| a_boy | Boy (mm) |
| a_yuk | Yükseklik (mm) |
| a_agirlik | Ağırlık (kg) |
| a_garanti | Garanti Süresi (Yıl) |
| a_envfiy | Envanter Fiyatı |
| a_u_kodu2 | Üretici Kodu |
| a_u_kodu1 | Üretici ÜTS-UBB Kodu |
| a_gtin_uno | (GTIN/UNO) Küresel Ticari Ürün Numarası |
| a_marka_adi | Marka Adı — ad ile gönderilir. Kayıt yoksa otomatik oluşturulur. ID biliniyorsa a_marka ile ID de gönderilebilir. |
| a_model_adi | Model Adı — ad ile gönderilir. Model markaya bağlıdır; kayıt yoksa ilgili marka altında otomatik oluşturulur. ID biliniyorsa a_model ile ID de gönderilebilir. |
| barkod_tur | "EAN8" "EAN13" "EAN14" "TERAZİ" "ADETLİ" "CODE39" "CODE128" "UPC E" "UPC A" "INT2of5" "PLU" |

ID'si 0 olan yada ID'si mevcut olmayan barkod öğeleri tanıtıldığında, ilgili stoğa o barkodlar eklenir
ID tanıtılan barkod öğeleri ilgili ID'deki barkodları günceller

## Header bilgileri

| X-ClientId | Login anında alınan kullanıcı Token UID bilgisi |
| --- | --- |

## İstek gövdesi

```json
{
  "cmd": "stok_upd",
  "UID": "KULLANICI_UID",
  "Ana": [
    {
      "a_id": "141678",
      "a_kod": "TUSC4",
      "a_adi": "Hacer V5",
      "a_fiyat_al": "1250.35",
      "a_fiyat_sat": "26350.66",
      "a_doviz_id_al": "1",
      "a_doviz_id_sat": "0",
      "a_brm_id": "4",
      "a_kdv_al": "9.33",
      "a_kdv_sat": "22.55",
      "a_kart_tur": "2",
      "a_alt_adi": "",
      "a_ozel_fiy1": "10.00",
      "a_ozel_fiy2": "20.00",
      "a_ozel_fiy3": "30.00",
      "a_gtip_no": "8518.30.00",
      "a_en": "12.5",
      "a_boy": "20.3",
      "a_yuk": "7.8",
      "a_agirlik": "0.25",
      "a_garanti": "2",
      "a_envfiy": "175.50",
      "a_u_kodu2": "URT-KOD-001",
      "a_u_kodu1": "UTS-UBB-9988",
      "a_gtin_uno": "08691234567895",
      "a_marka_adi": "SONY",
      "a_model_adi": "WH-1000XM5",
      "barkodlar": [
        {
          "a_id": "12456461",
          "barkod": "B01XYZ010207",
          "barkod_tur": "CODE39",
          "birim_id": "4",
          "carpan": "1",
          "fiyat": "10.45",
          "efatura_kullanim": "Hayır"
        },
        {
          "barkod": "B02XYZ010207",
          "barkod_tur": "CODE39",
          "birim_id": "4",
          "carpan": "1",
          "fiyat": "10.45",
          "efatura_kullanim": "Hayır"
        }
      ]
    }
  ]
}
```

## Örnek istek (cURL)

```bash
curl -X POST "https://ws.evobulut.com/api/stok/base/" \
  -H "Content-Type: application/json" \
  -d '{
  "cmd": "stok_upd",
  "UID": "KULLANICI_UID",
  "Ana": [
    {
      "a_id": "141678",
      "a_kod": "TUSC4",
      "a_adi": "Hacer V5",
      "a_fiyat_al": "1250.35",
      "a_fiyat_sat": "26350.66",
      "a_doviz_id_al": "1",
      "a_doviz_id_sat": "0",
      "a_brm_id": "4",
      "a_kdv_al": "9.33",
      "a_kdv_sat": "22.55",
      "a_kart_tur": "2",
      "a_alt_adi": "",
      "a_ozel_fiy1": "10.00",
      "a_ozel_fiy2": "20.00",
      "a_ozel_fiy3": "30.00",
      "a_gtip_no": "8518.30.00",
      "a_en": "12.5",
      "a_boy": "20.3",
      "a_yuk": "7.8",
      "a_agirlik": "0.25",
      "a_garanti": "2",
      "a_envfiy": "175.50",
      "a_u_kodu2": "URT-KOD-001",
      "a_u_kodu1": "UTS-UBB-9988",
      "a_gtin_uno": "08691234567895",
      "a_marka_adi": "SONY",
      "a_model_adi": "WH-1000XM5",
      "barkodlar": [
        {
          "a_id": "12456461",
          "barkod": "B01XYZ010207",
          "barkod_tur": "CODE39",
          "birim_id": "4",
          "carpan": "1",
          "fiyat": "10.45",
          "efatura_kullanim": "Hayır"
        },
        {
          "barkod": "B02XYZ010207",
          "barkod_tur": "CODE39",
          "birim_id": "4",
          "carpan": "1",
          "fiyat": "10.45",
          "efatura_kullanim": "Hayır"
        }
      ]
    }
  ]
}'
```

## Başarılı yanıt

```json
{
  "status": "OK",
  "veri": [
    {
      "ID": "141678",
      "mesaj": "Stok Basariyla Guncellendi."
    }
  ]
}
```

