> ## Documentation Index
> Fetch the complete documentation index at: https://yardim.whattalk.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Müşteriyi Güncelle

> Kampanyalarınızdaki mevcut bir müşteriyi güncelleyin

Müşteri kimliğini ve değiştirmek istediğiniz alanları sağlayarak bir müşteriyi güncelleyin. Yalnızca istekte sağlanan alanlar güncellenir.

## Yol Parametreleri

<ParamField path="id" type="integer" required>
  Güncellenecek müşterinin kimliği
</ParamField>

## Gövde Parametreleri

<ParamField body="campaign_id" type="integer" optional>
  Müşterinin atanacağı kampanyanın kimliği
</ParamField>

<ParamField body="phone_number" type="string" optional>
  Müşterinin telefon numarası (E164 formatına dönüştürülecektir)
</ParamField>

<ParamField body="status" type="string" optional>
  Müşterinin durumu. Şunlardan biri olmalıdır: `created`, `completed`, `reached-max-retries`
</ParamField>

<ParamField body="variables" type="object" optional>
  Mevcut müşteri değişkenleriyle birleştirilecek özel değişkenler
</ParamField>

## Yanıt

<ResponseField name="message" type="string">
  Müşterinin güncellendiğini belirten başarı mesajı
</ResponseField>

<RequestExample>
  ```bash cURL theme={null}
  curl -X PUT "https://app.whattalk.ai/api/user/leads/123" \
    -H "Authorization: Bearer YOUR_API_TOKEN" \
    -H "Content-Type: application/json" \
    -d '{
      "campaign_id": 456,
      "phone_number": "+1234567890",
      "variables": {
        "name": "John Doe",
        "company": "Acme Corp"
      }
    }'
  ```
</RequestExample>

<ResponseExample>
  ```json Başarılı Yanıt theme={null}
  {
    "message": "Lead updated successfully"
  }
  ```

  ```json Hata Yanıtı - Müşteri Bulunamadı theme={null}
  {
    "message": "Lead not found"
  }
  ```

  ```json Hata Yanıtı - Kampanya Bulunamadı theme={null}
  {
    "message": "Campaign not found"
  }
  ```

  ```json Hata Yanıtı - Geçersiz Telefon Numarası theme={null}
  {
    "message": "Invalid phone number"
  }
  ```

  ```json Hata Yanıtı - Doğrulama Başarısız theme={null}
  {
    "message": "Validation failed",
    "errors": {
      "campaign_id": ["The selected campaign does not exist"],
      "status": ["This status is assigned automatically and cannot be set manually"],
      "variables": ["Variables must be an array"]
    }
  }
  ```

  ```json Hata Yanıtı - Geçersiz Alanlar theme={null}
  {
    "message": "Invalid fields: invalid_field, another_invalid_field"
  }
  ```
</ResponseExample>

## Notlar

* Müşteri, kimliği doğrulanmış kullanıcıya ait olmalıdır
* Kampanya güncelleniyorsa, yeni kampanya da kimliği doğrulanmış kullanıcıya ait olmalıdır
* Telefon numaraları otomatik olarak formatlanır ve doğrulanır
* Değişkenler mevcut değişkenlerle birleştirilir (değiştirilmez)
* Yalnızca izin verilen alanlar güncellenebilir: `campaign_id`, `phone_number`, `status`, `variables`
* `status` alanı veri bütünlüğü için kısıtlı değerlere sahiptir
