
# GoHighLevel (GHL) Entegrasyonu

İşletmenizi yönetmek için zaten GoHighLevel (GHL) kullanıyor musunuz? Bu entegrasyon, mevcut GHL kurulumunuzun üzerine <span data-t="appName">DM Champ</span>'ın yapay zeka destekli mesajlaşma özelliğini eklemenizi sağlar. GHL'ye gelen mesajlar, yapay zeka destekli işlemler için <span data-t="appName">DM Champ</span>'e iletilir ve <span data-t="appName">DM Champ</span>'den gelen yanıtlar, GHL aracılığıyla orijinal kanal üzerinden müşteriye geri gönderilir.

> Farklı bir CRM mi kullanıyorsunuz? <span data-t="appName">DM Champ</span> ile çalışması için özel bir ekrana ihtiyacı yoktur: özel işlevler, API ve web kancaları için [Listelemediğimiz Bir Aracı Bağlama](connecting-other-tools.md) bölümüne bakın.

Bu, yapay zeka destekli konuşmaları yapay zekaya bırakırken GHL'yi ana merkeziniz olarak kullanmaya devam edebileceğiniz anlamına gelir.

::: note
**Not:** Bu, otomatik iş akışlarının kurulmasını ve web kancaları (uygulamalar arası otomatik bildirimler) ile API çağrıları kullanılarak sistemlerin birbirine bağlanmasını içeren daha teknik bir entegrasyondur. Bu konuda kendinizi rahat hissetmiyorsanız, bu sayfayı bir yazılımcıya veya teknik bilgisi olan bir ekip üyesine yönlendirmek isteyebilirsiniz.
:::


---

## Ön Koşullar

- API anahtarınızın bulunduğu ( **Ayarlar → Entegrasyonlar → API Anahtarı** kısmında) aktif bir **<span data-t="appName">DM Champ</span> hesabı**. API anahtarı, GHL'nin hesabınızla güvenli bir şekilde iletişim kurmasını sağlayan benzersiz bir koddur.
- İş akışları oluşturma ve web kancalarını (sistemler arasındaki otomatik bildirimler) yönetme iznine sahip bir **GoHighLevel hesabı**.

---

## Nasıl Çalışır

| Yön | Ne Olur |
|---|---|
| **GHL'den <span data-t="appName">DM Champ</span>'a** | Bir müşteri size GHL'deki SMS, e-posta, Messenger, Instagram veya canlı sohbet üzerinden mesaj gönderir. Bir iş akışı, bu mesajı otomatik olarak <span data-t="appName">DM Champ</span>'e iletir. <span data-t="appName">DM Champ</span> bunu işler (yapay zeka yanıtı, etiketleme vb.). |
| **<span data-t="appName">DM Champ</span>'ten GHL'ye** | <span data-t="appName">DM Champ</span> bir yanıt gönderdiğinde (manuel olarak veya yapay zeka aracılığıyla), bu durum GHL'ye otomatik olarak bildirilir. GHL'deki bir iş akışı kişiyi bulur ve yanıtı doğru kanal üzerinden gönderir. |

---

## İş Akışı 1: GHL'den <span data-t="appName">DM Champ</span>'a

Bu iş akışı, GHL'den gelen mesajları <span data-t="appName">DM Champ</span>'a iletir.

### 1. Adım: İş Akışını Oluşturun

1. GHL'de **Otomasyon > İş Akışları** kısmına gidin.
2. **Yeni İş Akışı Oluştur**'a tıklayın.
3. "<span data-t="appName">DM Champ</span>'a Mesaj Gönder" gibi açıklayıcı bir isim verin.

### 2. Adım: Tetikleyicileri Ekleyin

İletmek istediğiniz her kanal için bir tetikleyici ekleyin:

- Müşteri Yanıtladı - SMS
- Müşteri Yanıtladı - E-posta
- Müşteri Yanıtladı - Facebook Mesajı
- Müşteri Yanıtladı - Instagram DM
- Müşteri Yanıtladı - Canlı Sohbet

Hepsini veya yalnızca kurulumunuzla ilgili kanalları ekleyebilirsiniz.

### 3. Adım: Etiket Filtresi Ekleyin (İsteğe Bağlı)

Yalnızca belirli kişilerden gelen iletileri iletmek istiyorsanız:

1. Tetikleyici üzerinde **Filtre Ekle**'ye tıklayın.
2. Koşulu "Kişinin etiketi var" olarak ayarlayın.
3. Etiketinizi/etiketlerinizi seçin.
4. Kişinin seçilen etiketlerden **herhangi birine** mi yoksa **tümüne** mi sahip olması gerektiğini seçin.

### Adım 4: Kanal Ayrımı Oluşturun

Her kanalı kendi web kancasına yönlendirmek için bir **Koşul** eylemi ekleyin:

| Dal | Koşul |
|---|---|
| Dal 1 | İleti kaynağı şuna eşittir: `Email` |
| Dal 2 | İleti kaynağı şuna eşittir: `SMS` |
| Dal 3 | İleti kaynağı şuna eşittir: `Messenger` |
| Dal 4 | İleti kaynağı şuna eşittir: `Instagram` |
| Dal 5 | İleti kaynağı şuna eşittir: `Live Chat` |

### Adım 5: Web Kancalarını Yapılandırın

Her dal için bir **Web Kancası / HTTP İsteği** eylemi ekleyin:

- **Yöntem:** `POST`
- **URL:**
  ```
  https://api.dmchamp.com/v1/incoming_custom_channel_message?apiKey=YOUR_API_KEY
  ```

- **Özel Veri alanları:**

| Alan | Değer | Notlar |
|---|---|---|
| `messageSid` | `{{right_now.second}}{{contact.id}}` | Benzersiz ileti tanımlayıcısı |
| `fromId` | `{{contact.id}}` | GHL kişi kimliği |
| `toId` | `{{user.id}}` | GHL kullanıcı kimliğiniz |
| `body` | `{{message.body}}` | İleti içeriği |
| `channel` | Aşağıdaki tabloya bakın | Dalla eşleşmelidir |
| `status` | `created` | Her zaman `created` olarak ayarlayın |
| `messageType` | `text` | İleti türü |

**Dal başına kanal değerleri:**

| Dal | `channel` değeri |
|---|---|
| E-posta | `email` |
| SMS | `sms` |
| Messenger | `messenger` |
| Instagram | `ig` |
| Canlı Sohbet | `livechat` |

::: warning
**Önemli:** `channel` değerinin tam olarak eşleştiğinden emin olun; bunlar büyük/küçük harfe duyarlıdır.
:::


### Adım 6: Yeniden Girişi Etkinleştirin

İş akışı ayarlarında **Yeniden Girişe İzin Ver** seçeneğinin etkinleştirildiğinden emin olun. Bu olmadan, her kişiden yalnızca ilk ileti iletilecektir.

---

## İş Akışı 2: DM Champ'dan GHL'ye

Bu iş akışı, DM Champ'dan gelen yanıtları alır ve bunları doğru GHL kanalı üzerinden müşteriye gönderir.

### Adım 1: GHL'de Gelen Webhook Oluşturun

1. GHL'de **Ayarlar > Geliştiriciler / API** kısmına gidin.
2. **Yeni Web Kancası Oluştur**'a (veya "Gelen Web Kancası") tıklayın.
3. "Mesajlar" adını verin.
4. Kaydedin ve **web kancası URL'sini kopyalayın**; bir sonraki adımda buna ihtiyacınız olacak.

### Adım 2: DM Champ'ı Yapılandırın

1. DM Champ içinde, kenar çubuğunda **Ayarlar**'a (Settings) tıklayın.
2. **Kanallar** (Channels) altında **Kanallar**'a (Channels) tıklayın.
3. Sayfanın en altındaki **Özel kanal** (Custom channel) kartına gidin.
4. Az önce kopyaladığınız GHL gelen webhook URL'sini **Webhook URL** alanına yapıştırın (bu adres herkese açık bir HTTPS adresi olmalıdır) ve **Kaydet**'e (Save) tıklayın.

> **Bu, Ayarlar → Entegrasyonlar → Webhook'lar sayfası değildir.** O sayfa olay bildirimleri içindir ve farklı bir veri yükü gönderir. GHL giden aktarımı, **Ayarlar → Kanallar** altındaki **Özel kanal** kartından ayarlanır.

DM Champ artık bir kişiye her mesaj gönderildiğinde GHL'ye otomatik olarak bir bildirim gönderecektir. Gönderilen veriler şu şekildedir:

```json
{
  "contactId": "NtL97bwnhITrfIq8lWFi",
  "messageId": "s28dtg13qNuhXLoKpcLs",
  "userId": "wpDZRvaw4Hgh4whUBpwlKPRftOi2",
  "body": "Message content here",
  "toId": "qtpBsc6fiqkXTnSOeze3",
  "channel": "email"
}
```

> **Gezinme notu:** İş Akışı 1 için kullandığınız API Anahtarı ile burada kullandığınız Özel kanal kartı farklı yerlerde bulunur; anahtar için **Ayarlar → Entegrasyonlar → API Anahtarı**, bu aktarım için ise **Ayarlar → Kanallar** sayfasının en altındaki **Özel kanal** kartı kullanılır. Ayrı olan **Ayarlar → Entegrasyonlar → Webhook'lar** sayfası olay bildirimleri içindir ve farklı bir veri yükü gönderir; eğer istediğiniz buysa [Webhook'lar](webhooks.md) bölümüne bakın.

### Adım 3: Yanıt İş Akışını Oluşturun

1. GHL'de **Otomasyon > İş Akışları** kısmına gidin.
2. "Kişiye Mesaj Gönder" adında yeni bir iş akışı oluşturun.
3. Tetikleyiciyi **Gelen Webhook** olarak ayarlayın ve 1. Adımda oluşturduğunuz webhook'u seçin.

### Adım 4: Kişi Bul Eylemi Ekleyin

1. Bir **Kişi Bul** eylemi ekleyin.
2. Arama alanını **Kişi Kimliği** olarak ayarlayın.
3. Şu değeri kullanın: `{{inboundWebhookRequest.toId}}`

### Adım 5: İsteğe Bağlı Etiket Kontrolü Ekleyin

Hangi kişilerin DM Champ'dan mesaj alacağını sınırlamak isterseniz:

1. Bir **Koşul** eylemi ekleyin.
2. Kişinin belirli bir etikete sahip olup olmadığını kontrol edin.
3. Etiket eksikse, iş akışını sonlandırın (yanlış dalına bir "Durdur" eylemi ekleyin).

### Adım 6: Kanal Ayrımı Ekleyin

Mesajı `{{inboundWebhookRequest.channel}}` temelinde yönlendiren bir **Koşul** eylemi ekleyin:

| Dal | Koşul | Eylem |
|---|---|---|
| Dal 1 | eşittir `email` | E-posta Gönder |
| Dal 2 | eşittir `sms` | SMS Gönder |
| Dal 3 | eşittir `messenger` | Facebook Mesajı Gönder |
| Dal 4 | eşittir `ig` | Instagram Mesajı Gönder |
| Dal 5 | eşittir `livechat` | Sohbet Mesajı Gönder |

### Adım 7: Her Gönderme Eylemini Yapılandırın

Her gönderme eyleminde, mesaj gövdesini şu şekilde ayarlayın:

```
{{inboundWebhookRequest.body}}
```

### Adım 8: Yeniden Girişi Etkinleştirin

İş Akışı 1'de olduğu gibi, iş akışı ayarlarında **Yeniden Girişe İzin Ver** seçeneğinin etkinleştirildiğinden emin olun.

---

## Entegrasyonu Test Etme

### GHL'den <span data-t="appName">DM Champ</span>'a Testi (İş Akışı 1)

1. GHL numaranıza veya bağlı kanalınıza bir mesaj gönderin (örneğin, kendinize bir SMS gönderin).
2. <span data-t="appName">DM Champ</span>'ı açın ve mesajın **Sohbetler** kısmında göründüğünü doğrulayın.
3. Kanal etiketinin doğru olduğunu (SMS, e-posta vb.) kontrol edin.
4. Yapılandırdığınız her kanal için tekrarlayın.

### <span data-t="appName">DM Champ</span>'dan GHL'ye Testi (İş Akışı 2)

1. <span data-t="appName">DM Champ</span> içinde bir kişiye yanıt gönderin (manuel olarak veya yapay zekanın yanıt vermesine izin verin).
2. GHL'yi açın ve kişinin mesajı aldığını doğrulayın.
3. Mesajın doğru kanal üzerinden gönderildiğini onaylayın.
4. Mesaj içeriğinin eşleştiğini kontrol edin.

---

## Sorun Giderme

| Sorun | Ne Kontrol Edilmeli |
|---|---|
| Mesajlar <span data-t="appName">DM Champ</span>'ya ulaşmıyor | Webhook URL'sindeki API anahtarınızın doğru olduğunu doğrulayın. İş akışı tetikleyicilerinin çalışıp çalışmadığını kontrol edin (GHL iş akışı günlükleri). Yeniden Girişe İzin Ver (Allow Re-entry) seçeneğinin etkinleştirildiğinden emin olun. |
| Mesajlar GHL'ye ulaşmıyor | GHL gelen webhook URL'sinin, **Ayarlar → Kanallar** sayfasının en altındaki **Özel kanal** kartında bulunan **Webhook URL** alanına doğru şekilde yapıştırıldığını doğrulayın (farklı bir özellik olan Ayarlar → Entegrasyonlar → Webhook'lar sayfasında değil). GHL gelen webhook'un aktif olduğunu kontrol edin. GHL iş akışı yürütme günlüklerini inceleyin. |
| Kişi GHL'de bulunamadı | Webhook verisindeki `toId`, mevcut bir GHL kişi kimliğiyle eşleşmelidir. Kişilerin her iki sistemde de eşleşen kimliklerle mevcut olduğundan emin olun. |
| Yanıt için yanlış kanal kullanıldı | Koşul dallarınızdaki kanal değerlerini tekrar kontrol edin. Tam olarak eşleşmeleri gerekir: `email`, `sms`, `messenger`, `ig`, `livechat`. |
| Sadece ilk mesaj iletiliyor | Her iki iş akışı ayarında da **Yeniden Girişe İzin Ver** (Allow Re-entry) seçeneğini etkinleştirin. |

---

## Sonraki Adımlar

- [Webhook'lar](webhooks.md) — diğer <span data-t="appName">DM Champ</span> etkinlikleri için webhook'ları ayarlayın.
- [API Erişimi](api-access.md) — GHL dışındaki özel entegrasyonlar için API'yi kullanın.
- [Özel Kanallar](../messaging-channels/custom-channels.md) — özel kanal mesajlaşması hakkında daha fazla bilgi edinin.
