
# Tích hợp GoHighLevel (GHL)

Bạn đang sử dụng GoHighLevel (GHL) để quản lý doanh nghiệp của mình? Tích hợp này cho phép bạn thêm tính năng nhắn tin hỗ trợ bởi AI của <span data-t="appName">Your AI Connector</span> vào thiết lập GHL hiện tại của bạn. Các tin nhắn gửi đến GHL sẽ được chuyển tiếp đến <span data-t="appName">Your AI Connector</span> để xử lý bằng AI, và các phản hồi từ <span data-t="appName">Your AI Connector</span> sẽ được gửi ngược lại qua GHL cho khách hàng trên kênh gốc.

> Bạn đang sử dụng một CRM khác? Nó không cần một màn hình chuyên dụng để hoạt động với <span data-t="appName">Your AI Connector</span>: xem [Kết nối một công cụ mà chúng tôi không liệt kê](connecting-other-tools.md) để biết về các hàm tùy chỉnh, API và webhook.

Điều này có nghĩa là bạn có thể tiếp tục sử dụng GHL làm trung tâm chính trong khi để AI xử lý các cuộc hội thoại do AI điều khiển.

::: note
**Lưu ý:** Đây là một tích hợp mang tính kỹ thuật hơn, bao gồm việc thiết lập các quy trình tự động và kết nối các hệ thống bằng webhook (thông báo tự động giữa các ứng dụng) và các lệnh gọi API. Nếu bạn không quen với việc này, bạn có thể chuyển trang này cho lập trình viên hoặc thành viên am hiểu kỹ thuật trong nhóm của mình.
:::


---

## Điều kiện tiên quyết

- Một **tài khoản <span data-t="appName">Your AI Connector</span>** đang hoạt động với khóa API của bạn (có trong **Cài đặt → Tích hợp → Khóa API**). Khóa API là một mã duy nhất cho phép GHL giao tiếp an toàn với tài khoản của bạn.
- Một **tài khoản GoHighLevel** có quyền tạo quy trình làm việc (workflow) và quản lý webhook (thông báo tự động giữa các hệ thống).

---

## Cách thức hoạt động

| Hướng | Điều gì xảy ra |
|---|---|
| **GHL đến <span data-t="appName">Your AI Connector</span>** | Khách hàng nhắn tin cho bạn qua SMS, email, Messenger, Instagram hoặc trò chuyện trực tiếp trong GHL. Một quy trình làm việc sẽ tự động chuyển tiếp tin nhắn đó đến <span data-t="appName">Your AI Connector</span>. <span data-t="appName">Your AI Connector</span> xử lý tin nhắn (phản hồi AI, gắn thẻ, v.v.). |
| **<span data-t="appName">Your AI Connector</span> đến GHL** | Khi <span data-t="appName">Your AI Connector</span> gửi phản hồi (thủ công hoặc qua AI), hệ thống sẽ tự động thông báo cho GHL. Một quy trình làm việc trong GHL sẽ tìm liên hệ và gửi phản hồi qua đúng kênh đó. |

---

## Quy trình 1: GHL đến <span data-t="appName">Your AI Connector</span>

Quy trình này chuyển tiếp các tin nhắn đến từ GHL sang <span data-t="appName">Your AI Connector</span>.

### Bước 1: Tạo Quy trình làm việc

1. Trong GHL, đi tới **Tự động hóa > Quy trình làm việc (Automation > Workflows)**.
2. Nhấp vào **Tạo quy trình làm việc mới (Create New Workflow)**.
3. Đặt tên mô tả, chẳng hạn như "Gửi tin nhắn đến <span data-t="appName">Your AI Connector</span>."

### Bước 2: Thêm Trình kích hoạt

Thêm trình kích hoạt cho mỗi kênh bạn muốn chuyển tiếp:

- Khách hàng đã trả lời - SMS
- Khách hàng đã trả lời - Email
- Khách hàng đã trả lời - Tin nhắn Facebook
- Khách hàng đã trả lời - Tin nhắn trực tiếp Instagram
- Khách hàng đã trả lời - Trò chuyện trực tiếp

Bạn có thể thêm tất cả hoặc chỉ các kênh phù hợp với thiết lập của mình.

### Bước 3: Thêm Bộ lọc thẻ (Tùy chọn)

Nếu bạn chỉ muốn chuyển tiếp tin nhắn từ các liên hệ cụ thể:

1. Nhấp vào **Add Filter** (Thêm bộ lọc) trên trình kích hoạt.
2. Đặt điều kiện thành "Contact has tag" (Liên hệ có thẻ).
3. Chọn (các) thẻ của bạn.
4. Chọn xem liên hệ đó phải có **bất kỳ** hay **tất cả** các thẻ đã chọn.

### Bước 4: Tạo phân tách kênh

Thêm hành động **Condition** (Điều kiện) để định tuyến từng kênh đến webhook riêng của nó:

| Nhánh | Điều kiện |
|---|---|
| Nhánh 1 | Nguồn tin nhắn bằng `Email` |
| Nhánh 2 | Nguồn tin nhắn bằng `SMS` |
| Nhánh 3 | Nguồn tin nhắn bằng `Messenger` |
| Nhánh 4 | Nguồn tin nhắn bằng `Instagram` |
| Nhánh 5 | Nguồn tin nhắn bằng `Live Chat` |

### Bước 5: Cấu hình Webhook

Đối với mỗi nhánh, hãy thêm hành động **Webhook / HTTP Request** (Webhook / Yêu cầu HTTP):

- **Phương thức:** `POST`
- **URL:**
  ```
  https://api.youraiconnector.com/v1/incoming_custom_channel_message?apiKey=YOUR_API_KEY
  ```

- **Các trường dữ liệu tùy chỉnh:**

| Trường | Giá trị | Ghi chú |
|---|---|---|
| `messageSid` | `{{right_now.second}}{{contact.id}}` | Định danh tin nhắn duy nhất |
| `fromId` | `{{contact.id}}` | ID liên hệ GHL |
| `toId` | `{{user.id}}` | ID người dùng GHL của bạn |
| `body` | `{{message.body}}` | Nội dung tin nhắn |
| `channel` | Xem bảng bên dưới | Phải khớp với nhánh |
| `status` | `created` | Luôn đặt thành `created` |
| `messageType` | `text` | Loại tin nhắn |

**Giá trị kênh cho mỗi nhánh:**

| Nhánh | Giá trị `channel` |
|---|---|
| Email | `email` |
| SMS | `sms` |
| Messenger | `messenger` |
| Instagram | `ig` |
| Live Chat | `livechat` |

::: warning
**Quan trọng:** Đảm bảo giá trị `channel` khớp chính xác — các giá trị này phân biệt chữ hoa chữ thường.
:::


### Bước 6: Bật tính năng nhập lại (Re-Entry)

Trong cài đặt quy trình làm việc, hãy đảm bảo **Allow Re-entry** (Cho phép nhập lại) đã được bật. Nếu không có tính năng này, chỉ tin nhắn đầu tiên từ mỗi liên hệ mới được chuyển tiếp.

---

## Quy trình 2: Your AI Connector đến GHL

Quy trình này nhận các phản hồi từ Your AI Connector và gửi chúng đến khách hàng thông qua kênh GHL chính xác.

### Bước 1: Tạo Inbound Webhook trong GHL

1. Trong GHL, đi tới **Cài đặt > Nhà phát triển / API**.
2. Nhấp vào **Tạo Webhook** (hoặc "Webhook gửi đến").
3. Đặt tên là "Tin nhắn."
4. Lưu và **sao chép URL webhook** — bạn sẽ cần nó trong bước tiếp theo.

### Bước 2: Cấu hình Your AI Connector

1. Trong Your AI Connector, nhấp vào **Settings** ở thanh bên.
2. Trong mục **Channels**, nhấp vào **Channels**.
3. Cuộn xuống thẻ **Custom channel** ở cuối trang.
4. Dán URL webhook gửi đến GHL mà bạn vừa sao chép vào **Webhook URL** (đây phải là địa chỉ HTTPS công khai) và nhấp vào **Save**.

> **Đây không phải là trang Settings → Integrations → Webhooks.** Trang đó dành cho thông báo sự kiện và gửi một payload khác. Chuyển tiếp gửi đi (outbound relay) của GHL được thiết lập trên thẻ **Custom channel** trong mục **Settings → Channels**.

Your AI Connector giờ đây sẽ tự động gửi thông báo đến GHL mỗi khi một tin nhắn được gửi cho liên hệ. Dữ liệu được gửi sẽ trông như thế này:

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

> **Lưu ý điều hướng:** API Key bạn sử dụng cho Workflow 1 và thẻ Custom channel bạn sử dụng ở đây nằm ở các vị trí khác nhau — **Settings → Integrations → API Key** cho khóa API, và thẻ **Custom channel** ở cuối mục **Settings → Channels** cho chuyển tiếp này. Trang **Settings → Integrations → Webhooks** riêng biệt dành cho thông báo sự kiện và gửi một payload khác; hãy xem [Webhooks](webhooks.md) nếu đó là nội dung bạn cần thay thế.

### Bước 3: Tạo Quy trình Phản hồi

1. Trong GHL, đi tới **Automation > Workflows**.
2. Tạo một quy trình mới có tên "Send Message to Contact."
3. Đặt trình kích hoạt (trigger) thành **Inbound Webhook** và chọn webhook bạn đã tạo ở Bước 1.

### Bước 4: Thêm hành động Tìm Liên hệ (Find Contact)

1. Thêm hành động **Find Contact**.
2. Đặt trường tìm kiếm thành **Contact ID**.
3. Sử dụng giá trị: `{{inboundWebhookRequest.toId}}`

### Bước 5: Thêm Kiểm tra Thẻ Tùy chọn

Nếu bạn muốn giới hạn những liên hệ nào nhận được tin nhắn từ Your AI Connector:

1. Thêm hành động **Condition**.
2. Kiểm tra xem liên hệ có thẻ cụ thể nào không.
3. Nếu thiếu thẻ, hãy kết thúc quy trình (thêm hành động "Stop" vào nhánh sai).

### Bước 6: Thêm Phân tách Kênh

Thêm một hành động **Điều kiện** để định tuyến tin nhắn dựa trên `{{inboundWebhookRequest.channel}}`:

| Nhánh | Điều kiện | Hành động |
|---|---|---|
| Nhánh 1 | bằng `email` | Gửi Email |
| Nhánh 2 | bằng `sms` | Gửi SMS |
| Nhánh 3 | bằng `messenger` | Gửi tin nhắn Facebook |
| Nhánh 4 | bằng `ig` | Gửi tin nhắn Instagram |
| Nhánh 5 | bằng `livechat` | Gửi tin nhắn trò chuyện |

### Bước 7: Cấu hình từng hành động gửi

Trong mỗi hành động gửi, hãy đặt nội dung tin nhắn thành:

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

### Bước 8: Bật tính năng Cho phép nhập lại

Giống như Quy trình 1, hãy đảm bảo **Cho phép nhập lại** (Allow Re-entry) đã được bật trong cài đặt quy trình.

---

## Kiểm thử tích hợp

### Kiểm tra GHL đến <span data-t="appName">Your AI Connector</span> (Quy trình 1)

1. Gửi tin nhắn đến số GHL hoặc kênh đã kết nối của bạn (ví dụ: tự gửi cho chính mình một tin nhắn SMS).
2. Mở <span data-t="appName">Your AI Connector</span> và xác minh rằng tin nhắn xuất hiện trong **Trò chuyện (Chats)**.
3. Kiểm tra xem nhãn kênh có chính xác không (SMS, email, v.v.).
4. Lặp lại cho từng kênh bạn đã cấu hình.

### Kiểm tra <span data-t="appName">Your AI Connector</span> đến GHL (Quy trình 2)

1. Trong <span data-t="appName">Your AI Connector</span>, hãy gửi phản hồi cho một liên hệ (thủ công hoặc để AI phản hồi).
2. Mở GHL và xác minh rằng liên hệ đã nhận được tin nhắn.
3. Xác nhận tin nhắn đã được gửi qua đúng kênh.
4. Kiểm tra xem nội dung tin nhắn có khớp hay không.

---

## Khắc phục sự cố

| Vấn đề | Những điều cần kiểm tra |
|---|---|
| Tin nhắn không đến được <span data-t="appName">Your AI Connector</span> | Xác minh khóa API của bạn là chính xác trong URL webhook. Kiểm tra xem các trình kích hoạt quy trình làm việc (workflow triggers) có đang hoạt động không (nhật ký quy trình làm việc GHL). Xác nhận rằng Allow Re-entry đã được bật. |
| Tin nhắn không đến được GHL | Xác minh URL webhook gửi đến GHL đã được dán chính xác vào **Webhook URL** trên thẻ **Custom channel** ở cuối mục **Settings → Channels** (không phải trên trang Settings → Integrations → Webhooks, vốn là một tính năng khác). Kiểm tra xem webhook gửi đến GHL có đang hoạt động không. Xem lại nhật ký thực thi quy trình làm việc của GHL. |
| Không tìm thấy liên hệ trong GHL | `toId` trong dữ liệu webhook phải khớp với ID liên hệ GHL hiện có. Đảm bảo các liên hệ tồn tại trong cả hai hệ thống với các ID khớp nhau. |
| Sử dụng sai kênh để trả lời | Kiểm tra kỹ các giá trị kênh trong các nhánh điều kiện của bạn. Chúng phải khớp chính xác: `email`, `sms`, `messenger`, `ig`, `livechat`. |
| Chỉ tin nhắn đầu tiên được chuyển tiếp | Bật **Allow Re-entry** trong cả hai cài đặt quy trình làm việc. |

---

## Các bước tiếp theo

- [Webhooks](webhooks.md) — thiết lập webhook cho các sự kiện <span data-t="appName">Your AI Connector</span> khác.
- [API Access](api-access.md) — sử dụng API cho các tích hợp tùy chỉnh ngoài GHL.
- [Custom Channels](../messaging-channels/custom-channels.md) — tìm hiểu thêm về nhắn tin qua kênh tùy chỉnh.
