# Tìm hiểu về ChatBot

Tài liệu hướng dẫn sử dụng Smax.bot

### Chatbot là gì?

Hiểu đơn giản chatbot là một con robot :robot: giúp bạn trò chuyện (chat) với khách hàng một cách tự động theo kịch bản mà bạn đã cài đặt sẵn.

Chatbot có thể hoạt động trên bất kỳ trình nhắn tin nào (**FB messenger**, Zalo, Wechat...) thậm chí là cả SMS các bạn đang sử dụng để nhắn tin hằng ngày cho mục đích Marketing và chăm sóc khách hàng. &#x20;

(Trong khuôn khổ tài liệu này chúng ta chỉ tìm hiểu về chatbot cho **FB messenger**)

{% hint style="info" %}
VD: Tổng đài trả lời tự động các bạn gọi lên hằng ngày cũng có thể hiểu như 1 loại bot, nhưng là tương tác bằng giọng nói chứ ko phải bằng chữ viết.
{% endhint %}

### Có nên sử dụng Chatbot để chăm sóc khách hàng?

Có nhiều người quan niệm rằng chi phí marketing (FB ads...) để mang lại 1 khách hàng ngày càng lớn. Nên việc để khách hàng cho 1 "con bot" vô thức chăm sóc là điều không nên.

Đúng là việc giao khách hàng cho 1 "con bot" chăm sóc là điều không nên, nhưng nếu chúng ta chỉ tận dụng chat bot trong một vài quy trình chăm sóc khách hàng thì mọi thứ sẽ hoàn toàn khác:

{% hint style="info" %}
VD1: Đối với shop bán hàng 1 ngày các bạn nhận được bao nhiêu câu hỏi về : chương trình khuyến mãi tháng này, chính sách đổi trả, địa chỉ cửa hàng, giờ mở cửa...

*Nếu các thông tin này các bạn chuyển cho bot trả lời, thì nhân viên sẽ giảm thiểu được khối lượng công việc rất nhiều, tập trung cho việc chăm sóc về chuyên môn.*
{% endhint %}

{% hint style="info" %}
VD2: Bạn có 1 sản phẩm mới, hoặc 1 khuyến mãi bạn muốn gửi tin nhắn giới thiệu kèm ưu đãi tới tất cả khách hàng cũ của mình?

*Chatbot làm điều đó chỉ với 1 nốt nhạc khi nhân viên của bạn vẫn đang tìm lại từng khách một và nhắn tin cho họ.*
{% endhint %}

{% hint style="info" %}
VD3: Nhân viên của bạn không thể 24/24 để ngồi trả lời khách hàng, khi có 1 khách vào hỏi giá  sản phẩm, nếu họ đợi quá lâu họ sẽ mua của cửa hàng khác.

*Chatbot làm việc ngay cả khi bạn không ngồi trước máy tính. Sáng, trưa, chiều, tối bất kể nắng mưa :D. Có thể bạn không cần sử dụng bot để chốt sale luôn với khách, mà chỉ cần:*\
*"hiện tại bà chủ xinh đẹp của tôi đang đi vắng, quý khách vui lòng để lại sđt ngày mai sẽ bà chủ sẽ gọi điện tư vấn cho bạn" → khách sẽ yên tâm mà đợi hơn là ko có 1 tín hiệu hồi âm nào từ shop.*
{% endhint %}

### Tính chất chatbot

***Nhanh chóng:*** Chatbot tương tác lại với khách hàng gần như ngay lập tức sau khi tiếp nhận thông tin.

***Mạnh mẽ:*** Chatbot có thể chăm sóc cùng 1 lúc hàng triệu, thậm chí hàng tỉ khách hàng.

***Chính xác:*** Chatbot làm việc 1 cách chính xác với những gì bạn đã thiết lập sẵn cho nó.

***Không nghỉ:*** Chatbot có thể làm việc 24/7, 365 ngày 1 năm mà không ngừng nghỉ 1 phút giây nào.

Chính những tính chất này mà chatbot đem lại rất nhiều lợi ích đáng giá cho người sử dụng:

* **Tiết kiệm sức người, chi phí cho nhân sự** cho những việc tư vấn lặp đi lặp lại nhàm chán (một số lĩnh vực kinh doanh có sự lặp lại như Thời Trang, nội thất...)
* **Phân loại khách hàng và Remarketing**: Bằng cách gắn thẻ để phân loại nhóm khách hàng, rồi gửi tin nhắn trực tiếp. Bạn có thể tiết kiệm rất nhiều chi phí và tăng hiệu quả chuyển đổi đó.
* **Tăng tính chuyên nghiệp của thương hiệu**: tạo ra những trải nghiệm cá nhân hóa cho khách hàng (chúc mừng khách nhân ngày lễ tết, thời tiết, chúc mừng sinh nhật...)
* **Giúp đo lường hiệu quả chiến dịch quảng cáo của Agency:** Đặc biệt dành cho việc đo lường khách ở điểm bán, nếu không có chatbot rất khó để công nhận doanh số đến từ Fb ads cho cửa hàng.

### **VD về tính ứng dụng?**

Chatbot ứng dụng được rất nhiều trong việc tương tác, bán hàng, chăm sóc khách hàng ở tất cả mọi loại hình dịch vụ kinh doanh online có trên thị trường.

> Một shop bán hàng cho phép xem sản phẩm, đặt hàng.
>
> Một khách sạn cho phép book phòng và tra cứu thông tin giá phòng.
>
> Một đại lý vé máy bay cho phép check và đặt vé.
>
> Một đơn vị vận chuyên dùng chatbot để chăm sóc vận đơn.
>
> Một trung tâm giáo dục dùng chatbot để nhắc lịch học, lịch thi...
>
> v.v…

***Sẽ còn vô vàn những điều mà chatbot có thể làm được; điều chúng ta cần là khám phá và sử dụng chúng giúp cho cuộc sống tốt hơn!***


# Công cụ Smax.bot

Giới thiệu về nền tảng Chatbot by Smax - Smax.bot - VIK Solutions.

[***Smax.bot***](https://smax.bot/) ***là nền tảng công cụ*** [***chatbot***](https://tailieu.smax.bot/) ***được phát triển bởi VIK Solutions giúp bạn xây dựng kịch bản tương tác, chăm sóc khách hàng của mình trên fanpage (VD: Chatfuel, manychat...)***

**Smax.bot** là 1 sản phẩm của đội ngũ startup người Việt đã gắn bó cùng nhau suốt hơn 10 năm. Với bằng ấy thời gian phát triển về lập trình phần mềm, và hơn 6 năm về phát triển các ứng dụng marketing, chăm sóc khách hàng, quản lý bán hàng online...

### Nền tảng với những gì tinh túy nhất.

**Smax.bot** học hỏi và phát triển những tính năng tốt nhất từ nhu cầu thị trường, để tạo nên 1 sản phẩm đột phá, thông minh, sáng tạo, tính ứng dụng cực cao... Mang đến trải nghiệm dễ dàng nhất có thể cho người dùng tiếp cận với lĩnh vực Chatbot.

### Cộng đồng Agency đông đảo nhất.

**Smax.bot** được cộng đồng Agency trên khắp Việt Nam tin tưởng sử dụng để cung cấp cho các khách hàng của mình.  Từ các bên làm về dịch vụ Ads, marketing, content, edu, các Speaker.


# Các thuật ngữ

Các thuật ngữ trong quá trình sử dụng Smax.Bot

### 1. Chatbot:

Là 1 con robot tự động trả lời, tương tác giao tiếp với khách hàng dựa trên những gì bạn đã thiết lập sẵn.

### **2. Fanpage:**&#x20;

Là một tài khoản fanpage của Facebook kết nối với chatbot để chatbot có thể giao tiếp với khách hàng của fanpage.&#x20;

{% hint style="info" %}
VD: Chatbot giống như 1 nhân viên chăm sóc khách hàng bạn thuê về, để họ có thể nói chuyện với khách trên fanpage thì bạn phải kết nối nhân viên đó vào fanpage của bạn
{% endhint %}

### 3. Kịch bản:

Là tất cả những gì bạn thiết lập cho 1 con bot sẽ tương tác với khách hàng của mình (trải nghiệm của khách hàng có với fanpage có tốt hay không là do người thiết lập).

{% hint style="info" %}
VD: bạn xây dựng 1 cái khách sạn và bạn sẽ phải thiết lập khách sạn đó có chức năng gì, vận hành ra sao, giao tiếp phục vụ khách hàng thế nào.
{% endhint %}

### **4. Element** (Card/ thẻ) và **Block** (khối)

**Element** (Card/ thẻ) là một công việc (chức năng) cụ thể mà bot sẽ làm (gửi ảnh, gửi nội dung, gửi tùy chọn, lưu thông tin...). Trong khung màu đỏ (hình dưới) là list các **Element** (Card/ thẻ) bạn có thể sử dụng.

{% hint style="info" %}
VD: Hiểu nôm na nó là các vật mà bạn dùng để xây nên các khách sạn của mình, mỗi vật sẽ có các chức năng riêng (bàn ăn để ăn, giường để ngủ, vòi hoa sen để tắm...)
{% endhint %}

![Block và Element](/files/-McIvN9Dz6MCZc7Pvedh)

**Block** là tập hợp các **Element** (hình trên là giao diện khi chỉnh sửa 1 block, bạn có thể thấy block được xây dựng bởi tập hợp các Element)

Trong hình dưới hình số 1 là giao diện 1 block ở khu vực quản lý, hình 2 là giao diện block ở khu vực mindmap. Các bạn click vào icon (số 3) để chỉnh sửa 1 block.

![Block và chỉnh sửa block](/files/-McIwcM8O784wwX8iCDq)

{% hint style="info" %}
VD: Nếu vẫn là câu chuyện khách sạn thì bạn cứ hiểu block là 1 cái phòng chứa các vật dụng (Element) (phòng ăn có bàn ăn, có bát có đũa/ phòng ngủ có giường có chiếu, có chăn...phòng tắm có bồn tắm vòi hoa sen)
{% endhint %}

![Welcome Block và Default Block](/files/-McIxOGk57xfYoWKNsop)

* ***Welcome block:*** Đây là block mà người dùng sẽ gặp khi lần đầu tiên nhắn tin vào 1 fanpage.
* ***Default block:*** Đây là block mà trong quá trình chat với bot, người dùng nhắn 1 tin nào đó không trùng với bất kỳ kịch bản nào bạn đã thiết lập sẵn.

{% hint style="info" %}
VD: Welcome block bạn cứ hiểu là cái phòng lễ tân, khi bạn tới khách sạn lần đầu tiên thì luôn phải qua đó (còn khi bạn đã ở đó rồi thì sẽ ko cần mà cứ lên thẳng phòng của mình)

Default block giống như phòng chờ, nếu bạn tới khách sạn và phòng của bạn khai báo không khớp với phòng nào khách sạn đã có sẵn có bạn sẽ phải vào phòng chờ.
{% endhint %}

### **5.** Sequence (kịch bản chăm sóc tự động)

![Sequence](/files/-McIywC2qKssxPhwfT80)

Là 1 quy trình tương tác với khách hàng mà bạn lên lịch sẵn. dùng để gửi một chuỗi các kịch bản chia theo thời gian đến khách hàng (Ví dụ: ngày 1 gửi kịch bản giới thiệu khóa học, ngày 2 gửi bài học đầu tiên...

{% hint style="info" %}
OK quay trở lại với câu chuyện khách sạn, bạn sẽ tạo ra 2 kịch bản chăm sóc khách hàng là **ĂN** và **SPA**.&#x20;

Kịch bản ăn: Khi khách hàng đăng ký 1 tiếng sau bạn sẽ đưa khách vào phòng ăn để khách ăn, 30 phút sau bạn sẽ đưa khách sang phòng uống nước, 15 phút sau bạn đưa khách ra ban công hóng gió...&#x20;

Kịch bản Spa: 15 phút bạn đưa khách vào phòng xông hơi, 20 phút sau đưa vào phòng spa da mặt, 15 phút sau đưa qua phòng foot massage...
{% endhint %}

### **6. Gửi broadcast:**&#x20;

#### Là chức năng gửi tin nhắn hàng hoạt tới khách hàng của mình.

{% hint style="info" %}
VD: Ở khách sạn thì bạn có thể dùng loa để phát tới tất cả khách hàng.
{% endhint %}

### **7. Khách hàng:**&#x20;

Là tất cả những người (nick Facebook) đã tương tác với fanpage của bạn qua inbox.

### **8. Attribute** (custom field):&#x20;

Là thuộc tính của 1 khách hàng

![System Attribute có màu tím - Custom Attribute có màu nâu](/files/-McIzZxNCQTIA3OQ5irO)

* **System Attribute**: Là các thuộc tính của khách hàng do hệ thống tự sinh ra mà bạn không thể sửa được (VD: giới tính, thời gian vào bot, số tin nhắn đã nhắn, fullname (FB trả về theo tài khoản FB của khách)
* **Custom Attribute**: Là các thuộc tính của khách hàng do bạn tự đặt trong quá trình xây dựng bot (khách này ở đâu, đã mua gì, mua bao nhiêu, số điện thoại, địa chỉ ship hàng...)

### **9. HÀM**

Là 1 đoạn cú pháp để thực hiện 1 chức năng nào đó.

VD: 2 hình dưới mình sử dụng hàm **UPPER** để viết hoa toàn bộ tên của user, hoặc dùng hàm **GENDER** để hệ thống tự nhận dạng cách xưng hô với khách hàng.

![Hàm](/files/-McIzy_z3o95ATjVmN_c)

![](/files/-LtmViIHlqDzfGg0HClc)

### 10. Reflink

Ref link là 1 đường dẫn có định dạng [https://m.me/\[IDPAGE\]**?ref=Welcome-Block**](https://m.me/116264036416212?ref=SanPham) dùng để truy cập trực tiếp vào 1 block nào đó (nếu user không vào qua reflink thì sẽ phải đi qua welcome block)

*Reflink ngoài việc rất hữu ích cho tính năng test trong quá trình xây dựng block thì còn rất mạnh trong việc triển khai các chiến dịch và đo lường.*

![Click vào icon để tạo ref link](/files/-McJ05YqLhq31MtlcdGn)

![Sao chép ref link để truy cập trực tiếp vào block](/files/-McJ0SchB-X9ufZwZlJc)


# Các Menu chính

Các menu tính năng chính của Smax.bot

### 1. Kịch Bản

Nơi xây dựng kịch bản chính của chatbot, quản lý các block tính năng...&#x20;

![Kịch bản](/files/-McsTTASMIaBYOISaz13)

### 2. Keyword (Từ Khóa)

Nơi xây dựng kịch bản chatbot theo từ khóa.&#x20;

![Từ khóa](/files/-McsT-lOV7Wf7987NDPp)

### 3. Bot Menu

Cấu hình menu của Fanpage (sẽ hiển thị ở cửa sổ chat của khách hàng khi chat với Fanpage)

![Menu](/files/-McsSuatIJY2Pd-GnsWf)

![Menu hiển thị trên khung chat của khách hàng với Fanpage](/files/-LpMsylDUrn0uUx_8aPG)

### 4. Kịch Bản Chăm Sóc

Xây dựng kịch bản tự động chăm sóc cho khách hàng

![Kịch bản chăm sóc](/files/-McsSle8jjcCdvW7Sncs)

### 5. Khách Hàng

Quản lý những khách hàng đã inbox cho fanpage của bạn.

![Khách hàng](/files/-Md6-6QeELwyw_pvtzal)

### 6. Gửi BroadCast

Tính năng gửi tin nhắn hàng loạt tới khách hàng.

![Gửi tin nhắn hàng loạt](/files/-Md6-mnuoiWvFskzFCK2)

### 7. Thống Kê

Thống kê lịch sử tương tác của khách hàng với bot.

![Thống kê tương tác](/files/-Md603FyhtiLghl5PpEA)

### 8. Công Cụ

Khu vực quản lý các công cụ nâng cao cho chatbot.

![Các công cụ khác](/files/-Md60GO7YeNLxbqJEWZ2)

### 9. Cấu Hình

Khu vực cấu hình chung - Kết nối bot với fanpage, quản lý admin...

![Cấu hình chung](/files/-Md60y1N55nvJt309MFM)


# \_1.1 Tạo bot đầu tiên

Cùng bắt tay tạo ra con bot đầu tiên của bạn nào.

## 1. Truy cập Smax.bot và đăng nhập

Có 2 cách đăng nhập vào Smax.bot

&#x20;  **1. Click vào Đăng Nhập**

![Nhấn đăng nhập để vào bot](/files/-Md67J9eWqDVeuUcuDxY)

&#x20; **2. Click vào "Thử nghiệm miễn phí"**

![Click vào thử nghiệm miễn phí](/files/-Md69foIoqxu3sa4UGX0)

## 2. Liên kết với Facebook

* Sau khi click login hệ thống sẽ hiện ra một popup để bạn cung cấp những quyền fanpage cho **Smax.bot**. Chọn "Tiếp tục dưới tên ..." để liên kết Smax.bot với facebook của bạn                                                                                                                                  &#x20;
* Chọn đăng nhập tài khoản khác nếu tài khoản facebook không phải của bạn.

![](/files/-LtmTF_OJGldrPd8DM2V)

* Tiếp đến sẽ tới trang tích hợp fanpage vào **Smax.bot**.                                                                                                                                                                                                                                                                             Bạn hãy chọn những fanpage muốn tích hợp chatbot nhé. Nếu muốn chọn hết và mỗi khi tạo page mới sẽ tự động cập nhật với Smax.bot thì bấm "Chọn tất cả".

![Chọn các trang muốn cấp quyền cho smax](/files/-LtmUZ2IQf0TiZ-Ltfx5)

* Tiếp đến là những quyền mà Smax muốn bạn cung cấp để hoạt động được trên fanpage của bạn.

![Chọn các quyền cho smax](/files/-LtmVzGBOq1XTqb5UIVd)

&#x20;                                                                                                                                                                                                                                                         Bạn có thể bỏ **chọn** nếu không muốn cung cấp quyền nào đó cho **Smax.bot.** Nhưng lưu ý:&#x20;

![](/files/-LtmWch3DGBwHi_dg4S0)

* Bước cuối cùng, bạn hãy nhấn Ok để hoàn thành đăng nhập.  &#x20;

![Nhấn OK và kết nối thành công](/files/-LtmXS70DOk3m3DdtOPa)

## 3. Tạo bot mới

Click "Add New Bot" để tạo bot mới.    &#x20;

![Tạo bot mới](/files/-Md64bIOnzRXwH4WBoln)

Có 2 cách để tạo bot mới

&#x20;1\. Tạo bot trống chưa có giữ liệu gì.

![Tạo bot trống](/files/-Md64rKHSVyfNJmolgxg)

&#x20;2\. Tạo bot theo Template có sẵn do Smax cung cấp.

![Chọn preview để xem mẫu kịch bản](/files/-Md65F2UJl2W5GZ-_8n3)

![Chọn clone hoặc clone to bot để tạo bot mới hoặc tạo kịch bản cho bot sẵn có](/files/-Md65_ku1mvvipBC64zc)

3\. Bot từ nguồn clone

![Chọn clone bot sẵn có](/files/-MfLYSTxhURP9cdexZUY)

![Tích nội dung muốn clone và target hướng tới](/files/-MfLYcw3n-d8wKCmJK71)

Targer:&#x20;

* Clone bot sẽ copy ra con bot tương tự ngay trên giao diện smax.bot của mình.&#x20;
* Clone code sẽ là url để gửi qua cho người khác hoặc copy qua trình duyệt khác để copy bot (Sẽ có 2 tùy chọn là Mod và Admin với những quyền hạn nhất định - Với admin sẽ có quyền cấu hình bot)


# \_1.2 Kết nối bot với Fanpage

Cách kết nối Smax.bot với Fanpage của bạn

### 1. Có 3 cách kết nối bot với Fanpage.

Kết nối bên ngoài giao diện bot.

* Tại bên ngoài giao diện hiển thị các bot, bạn có thể kết nối fanpage với bot mà bạn muốn kết nối bằng cách: Nhấn **Connect page** → Nhấn **Connect to Page** trên Page mà bạn muốn kết nối với bot&#x20;

![Chọn connect page](/files/-Md6LXsBPBNfnE3C9blj)

Kết nối bên trong giao diện bot:

* Bên trong giao diện chat bot, bạn nhìn góc trên bên trái có chữ **Connect page** → Nhấn **Connect to Page** trên fanpage mà bạn muốn kết nối với bot.          &#x20;

![Chọn connect bên trong giao diện bot](/files/-Md6LxsKgeVAg6ktvAfn)

Kết nối bot với fanpage trong phần setting (Cấu hình).

* Trên thanh công cụ màu xanh phía bên trái giao diện bot chọn: **Setting (Cấu hình) →  Connect Page → Nhấn Connect to Page** trên Page mà bạn muốn kết nối với bot.                                                                                                                 &#x20;

![Cấu hình -> Connect page](/files/-Md6MRbvs4aeyYQ2IfwH)

### 2. Lưu Ý:

1. Một page chỉ connect được với 1 bot.
2. Smax bot chỉ hiển thị những fanpage bạn cung cấp quyền cho Smax khi login. Để cập nhật page mới vào Smax bạn vui lòng logout ra và login lại để cấp quyền cho fanpage đó.
3. Chỉ có thể kết nối bot với fanpage khi bạn là admin của fanpage đó.

### &#x20;                                                                                                                              &#x20;


# \_1.3 Tạo kịch bản chatbot đầu tiên

Thao tác cơ bản để thiết lập kịch bản chatbot đầu tiên với Smax.bot

Mời bạn xem video hướng dẫn dưới đây:

[**Phần 1: Tạo chatbot đầu tiên**](https://bot.vn/hoc-chatbot/chatbot-thuc-chien-2020/tao-chatbot-dau-tien-5.html)

![Xem thêm: https://bot.vn/hoc-chatbot/chatbot-thuc-chien-2020/tao-chatbot-dau-tien-5.html](/files/-MLfIqpdQob4noWq762o)

[**Phần 2: Tạo chatbot đầu tiên**](https://bot.vn/hoc-chatbot/chatbot-thuc-chien-2020/tao-chatbot-dau-tien-5.html)

![Xem thêm: https://bot.vn/hoc-chatbot/chatbot-thuc-chien-2020/tao-chatbot-dau-tien-5.html](/files/-MLfJeL6m5OIeHODeisZ)


# \_2.1 Text

Tin nhắn văn bản.

![Vị trí thẻ text (tìm kiếm hoặc chọn trong cột Facebook)](/files/-MdGSWTNJz9lC_ZECGrz)

### 1. Văn Bản

* Tin nhắn có nội dung dạng văn bản dùng để gửi cho khách hàng.
* Dùng '{' để hiển thị các thuộc tính của khách hàng.

![Dùng '{' để hiện thị các attribute](/files/-MdGSeokqyc9_ha7ZIJH)

* Dùng '\[' để liệt kê các hàm được hỗ trợ trong **Smax.bot**

![Dùng '\[' để hiển thị các hàm hỗ trợ trong smax.bot](/files/-MdGSzEPhWGGZP1_hdaL)

### 2. Button

* Là nút bấm khi người dùng bấm vào sẽ điều phối sang 1 kịch bản tiếp theo.
* Hỗ trợ tối đa 3 button trong 1 thẻ text.
* Có 3 hỗ trợ cho mỗi button là Block, URL, Phone
* Có thể set [Attibute](https://tailieu.smax.bot/bat-dau-voi-smax.bot/cac-thuat-ngu#8-attribute-custom-field) ngay trong Button để phân loại khách hàng.

1\. **Block**: Gửi 1 block cho người dùng khi họ click vào button đó. Nếu có nhiều block bên trong sẽ gửi lần lượt từng block theo thứ tự thời gian tạo block đó. Block nào tạo trước sẽ được chạy trước. &#x20;

![Tạo button đến các block](/files/-MdGUGzaNbU7XfoNoFmo)

2\. **URL**: Dùng để gọi 1 trang Web hoặc 1 địa chỉ URL. Có 2 chế độ để bật URL là Newtab và PopUp.&#x20;

![Tạo button đến url](/files/-MdGUWV6ACGZcnzJRqc0)

**Lưu Ý**: Khi chọn chế độ **PopUp**

* Bạn có 3 lựa chọn về size hiển thị popup là 40%, 70% và 100%.                                                                          &#x20;

![Chọn size cho popup](/files/-MdGUjIADvZaj-gguCa6)

* Để URL hiển thị trên PopUp cần phải add domain vào trong Domain Whitelisting:

  * Cách 1: Click "Add url into domain whitelist (popup open)" màu xanh ngay trên Button  &#x20;
  * Cách 2: Copy Domain → Cấu Hình → Domain Whitelisting → Add Domain   &#x20;

&#x20;                                                                    &#x20;

![Chọn add domain để sử dụng popup](/files/-MdGW8HxsZEpUzJqaBQ_)

&#x20;

![Domain được add vào Domain Whitelisting ](/files/-MdGV2PDDTUerRm_r9qr)

* Kiểm tra domain đã được add hay chưa có thể xem trong cấu hình bot hoặc cài đặt nhắn tin nâng cao **của** page trên facebook.

3\. **Phone**: Gọi tới số điện thoại được set (Chỉ gọi được trên mobile)

![Tạo button để gọi điện](/files/-MdGWQrEzAV97-XQydyW)

4\. **Set Attribute:** Gắn thẻ điều kiện để phân loại những người ấn và không ấn button

![Set attribute cho block button](/files/-MdGe_-6TIpyHcD9XfD8)

![Set attribute cho url button (Chỉ áp dụng với gói pro)](/files/-MdGefEkcbxfx2cHNMaE)

5\. **Goto Block:** Chuyển đển block khác sau khi nhấn button chứa url (Chỉ áp dụng cho gói Pro)

![Go to block HotlineTuvan sau khi ấn Button](/files/-MdGY_LUzN2ZuGSghU-N)


# \_2.2 Typing

Giả lập gõ của người dùng.

![Vị trí thẻ Typing (tìm kiếm hoặc chọn trong cột Facebook)](/files/-MdGXAOQWf-dKw2qp2vM)

1. **Chức Năng**: Tạo hiệu ứng như người dùng đang nhập. &#x20;

![Hiệu ứng gõ giả lập người dùng.](/files/-LtB5x4kWKQGM3ibHnuB)

&#x20;   2\. Có thể tùy chỉnh từ 0 đến 20 giây cho hiệu ứng giống người đang gõ. &#x20;

![Tùy chỉnh thời gian typing](/files/-MdGXU1Oz22AF1T5NNeD)


# \_2.3 Image

Thẻ ảnh

![Vị trí thẻ Image (tìm kiếm hoặc chọn trong cột Facebook)](/files/-MdGZGLEAAckmLLCaRhW)

**Chức Năng**: Dùng để gửi hình ảnh cho khách hàng. Bạn có thể tải ảnh bằng cách truyền vào đó Attribute ảnh (nếu bạn đã có setup từ trước đó), đường link ảnh từ một trang web khác (*Image URL or Attribute*) hoặc cũng có thể tải ảnh trực tiếp ảnh lên bằng cách nhấn vào (*Add image*).

![Thẻ Image](/files/-MdGZMF4oejUzmRXOluK)

**Lưu ý:**&#x20;

1. Link ảnh không được chứa dấu cách. Nên tải ảnh lên hệ thống để tránh bị lỗi khi gửi cho người dùng.
2. Có thể copy các URL ảnh từ block này sang block khác hoặc các bot khác mà không cần mất công upload lên thêm một lần nữa.


# \_2.4 Quick Reply

Gợi ý trả lời nhanh.

![Vị trí thẻ Quick Reply (tìm kiếm hoặc chọn trong cột Facebook)](/files/-MdG_IcIEb2Hex1GvdUV)

![Quick Reply kèm button](/files/-MdGbqeSVPfR95KHjlpf)

## 1. Button

* Là nút bấm khi người dùng bấm vào sẽ điều phối sang 1 block tiếp theo.
* Chỉ hỗ trợ gửi Block không hỗ trợ URL và Phone.
* **Title**: Là tiêu đề của nút bấm&#x20;
* **Set Attribute**: Dùng để lưu lại lựa chọn của khách hàng.

{% hint style="info" %}
VD: Khách hàng chọn nút bấm Sản phẩm 1, sau khi bấm xong hệ thống sẽ lưu attribute {{DaAnNut}} có giá trị là Sản phẩm 1.
{% endhint %}

![Button trong thẻ Quick Reply](/files/-MdGdvE_SsUcjmBcAwIp)

### Lưu Ý:

* FaceBook hỗ trợ tối đa 13 nút bấm nên giới hạn của thẻ Quick Reply là 13 nút bấm.
* Bắt buộc phải có thẻ Text hoặc Image, Gallery, Video, Audio, Media phía trên mới chạy được thẻ Quick Reply
* Bắt buộc phải có Title cho mỗi button
* Set Attribute là lựa chọn hỗ trợ trong **Smax bot,** có thể điền hoặc không.
* Trong 1 block khi chạy tới thẻ Quick Reply hệ thống sẽ dừng lại để khách hàng lựa chọn các button trong thẻ. Nếu trong button được lựa chọn không có go to block thì hệ thống sẽ chạy tiếp các thẻ bên dưới thẻ Quick Reply. Trường hợp trong button lựa chọn có go to block, bot sẽ chạy theo block được set trong button và không chạy những thẻ bên dưới thẻ Quick Reply nữa.

![VD element Quick Reply.](/files/-LtEtme1fNdPVz2MHQFz)


# \_2.5 Gallery

Tạo Album ảnh.

![Vị trí thẻ Gallery (tìm kiếm hoặc chọn trong cột Facebook)](/files/-MdGgVUJ4ufdTnJ4-DJz)

**Chức Năng**: Dùng để tạo list ảnh sản phẩm để gửi cho khách hàng.

![VD hiển thị thẻ gallery trên facebook](/files/-LtEsrmX5yNI5pbEyUHM)

### 1. Image

* Truyền vào Attribute là link ảnh hoặc một link ảnh từ một trang web khác hoặc có thể tải ảnh trực tiếp lên bằng cách nhấn vào Add image.
* Có 2 chế độ hiển thị ảnh: dọc và ngang.

![Chế độ dọc và ngang](/files/-MdGhR-9tsQeUs-6-MLM)

* Hỗ trợ tối đa 10 ảnh trên mỗi Gallery.

### 2. Heading và Subtitle

* Heading là phần tiêu đề của ảnh được hiển thị in đậm.
* Subtitle là phần phụ đề mô tả ảnh được hiển thị màu nhạt.
* Hiển thị tối đa 80 kí tự trên mỗi Heading và Subtitle. Khi số kí tự vượt quá 80 sẽ hiển thị dấu ...                                                                                                          &#x20;

![VD hiển thị thẻ gallery trên facebook](/files/-LtIHDoZIEC6VZdOEMQy)

### 3. Button:&#x20;

Xem trong \_2.1 Text (Mục 2 - Button)**.**

{% content-ref url="/pages/-Ln335GRZW7qAPEqOvuy" %}
[\_2.1 Text](/2.-gioi-thieu-cac-element-card/_2.1-text)
{% endcontent-ref %}

### 4. Thay đổi thứ tự, vị trí hiển thị của ảnh trong Gallery (Update 2019)

Bằng cách kéo thả và thay đổi vị trí của các icon bên dưới Element Gallery (ảnh bên dưới)

![Thay đổi vị trí thẻ Gallery](/files/-MdGhGCh0xBCfSHVbwjK)


# \_2.6 User Input

Lưu câu trả lời của khách hàng.

![Vị trí thẻ User Input (tìm kiếm hoặc chọn trong cột Facebook)](/files/-MdGispgMvUIaDl1F9Bk)

**Chức năng**: Tạo 1 câu hỏi cho người dùng để người dùng nhập ý kiến của mình gửi cho hệ thống. Hệ thống sẽ lưu câu trả lời của khách hàng vào một attribute.&#x20;

![Tạo câu hỏi cho user input](/files/-MdGjUNyITMtssLUsr88)

### 1. Message To User:

* Là tin nhắn câu hỏi gửi cho khách hàng.
* Có thể sử dụng hàm và attribute giống như element text.
* Khi có nhiều câu hỏi trong thẻ User input, Bot sẽ hỏi từ trên xuống dưới từng câu 1 đợi khách hàng trả lời xong mới chạy tới câu tiếp theo.
* Click Add Fields để thêm câu hỏi cho khách hàng.

### 2. Validation.

* Là những hàm hỗ trợ check thông tin khách hàng nhập vào.
* Hỗ trợ 7 lựa chọn là:
  * *Number*: Kiểm tra khách hàng nhập vào có phải là số không.
  * *Text*: Kiểm tra khách nhập nội dung bất kỳ
  * *Phone*: Kiểm tra khách hàng nhập vào có phải là số điện thoại không.
  * *Phone - Suggestion*: Chức năng giống Phone nhưng Bot sẽ gợi ý câu trả lời số điện thoại khách dùng để xác minh Facebook, khách chỉ việc bấm nút mà không cần nhập dữ liệu.
  * *Email*: Kiểm tra khách hàng nhập vào có định dạng giống Email không.
  * *Email - Suggestion:* giống Phone - Suggestion nhưng thay vì số điện thoại thì Facebook sẽ gợi ý email đăng ký tài khoản của họ.
* Cột số bên cạnh hiển thị số lần bot gọi lại Message to User khi người khách nhập sai hoặc không đúng dữ liệu khiến bot không hiểu được nội dung nhập. Quá số lần nhập không chính xác bot sẽ bỏ qua Element User Input để tránh spam gây khó chịu.

![](/files/-MLg0J2diIM8HCuHY_sq)

* Khi khách hàng nhập thông tin sai định dạng đã chọn, hệ thống sẽ thông báo tin nhắn Default Phrase gửi cho khách hàng. Tin nhắn bên trái là tin nhắn mặc định của hệ thống, có thể sửa lại vào các ô bên  phải (CHANGE TO) nếu muốn thông báo tin nhắn khác.

![Tin nhắn gửi cho khách hàng khi sai định dạng](/files/-MdGkWrLmaMoYO9nBhFs)

Lưu ý:&#x20;

* Mỗi câu hỏi khách hàng chỉ có thể nhập trả lời 1 lần.
* Tin nhắn báo nhập sai thông tin phải được sửa đúng theo thứ tự đã được định dạng trong các dòng.
  * Dòng 1: Thông báo tin nhắn thông tin khách hàng nhập không phải là một số.
  * Dòng 2: Thông báo tin nhắn thông tin khách hàng nhập không phải là một email.
  * Dòng 3: Thông báo tin nhắn khách hàng nhập không phải là một số điện thoại.

### 3. Save Answer to attributes.

* Lưu câu trả lời của khách hàng vào attribute.&#x20;
* Có thể lưu vào attribute đã có sẵn hoặc tạo 1 attribute mới để lưu.
* Không thể lưu vào các attribute của hệ thống VD: Lưu tên khách hàng nhập vào {{full name}}.


# \_2.7 Set Attribute

Set giá trị cho Attribute

![Vị trí thẻ set attribute (tìm kiếm hoặc chọn trong cột Facebook)](/files/-MdGoCB9pI2dbizklw-P)

**Chức Năng**: Lưu 1 giá trị vào 1 Attribute cho khách hàng. Hành động này sẽ được hệ thống thực hiện ngầm mà không hiện ra cho khách hàng.

![VD thẻ set attribute](/files/-MdGrK_L9kNiyabrpHJv)

### 1. Điều kiện lọc:&#x20;

Xem lại \_2.6 Go to Block (Mục 1: Điều kiện (Bộ lọc))

{% content-ref url="/pages/-Ln33L4jrA\_cUA\_h765C" %}
[\_2.8 Go to Block](/2.-gioi-thieu-cac-element-card/_2.8-go-to-block)
{% endcontent-ref %}

### 2. User Attribute

* Là tên attribute của khách hàng.
* Có thể tạo 1 attribute mới cho khách hàng hoặc set lại 1 attribute cũ của khách hàng đã có với một giá trị mới.
* Thêm các attribute bằng cách click Add Item.

### 3. Value

* Là giá trị được set cho attribute.
* Có thể lưu giá trị là text hoặc số.
* Có thể thực hiện các phép tính +; -; \*; / ( Cộng; Trừ ; Nhân; Chia ) trong phần Value để tính toán giá trị cho khách hàng.
* Ghép các attribute text lại với nhau bằng cách điền 2 attribute liền nhau.

**Lưu Ý**:&#x20;

* Chỉ thực hiện các phép tính +; -;  \*; / khi attribute đó có giá trị là số.&#x20;

![VD phép tính lưu vào Attribute](/files/-LtJsC2P4CywWNsuv__0)

* Có thể sử dụng hàm trong phầm Value.

![VD sử dụng hàm \[=SEPRATOR(number)\] để in số tiền có dấu phẩy](/files/-LtJtGpyVFyeTnVGYtZd)


# \_2.8 Go to Block

Rẽ nhánh theo điều kiện

![Vị trí thẻ Go To Block (Cuộn xuống hoặc tìm kiếm hoặc chọn trong cột SmaxBot)](/files/-MdGrrtdbNA8e_HVt1Q4)

**Chức năng**: Dùng để điều hướng khách hàng đến một block khác.

### 1. Điều Kiện (Bộ lọc):

1\. Thêm điều kiện Attribute:&#x20;

* Thêm điều kiện bằng cách click thêm bộ lọc trong element Go to block.
* Thêm nhiều kiều kiên bằng cách click Add new.
* Các điều kiện được khớp từ trên xuống dưới theo 2 luồng là or (hoặc) hoặc and (và).

![VD điều kiện thẻ Go To Block](/files/-MdGsV9fXTf6Tnqupejy)

* Các phương thức so sánh điều kiện trong Attribute.&#x20;
  * \= : So sánh ngang bằng.
  * != : So sánh không bằng.
  * \> : So sánh lớn hơn.
  * < : So sánh nhỏ hơn.
  * \>= : So sánh lớn hơn bằng.
  * <= : So sánh nhỏ hơn bằng.
  * start : Kiểm tra giá trị của attribute có bắt đầu với điều kiện không.
  * end : Kiểm tra giá trị của attribute có kết thúc với điều kiện không.
  * have : Kiểm tra giá trị của attribute có chứa điều kiện không.
  * have not : Kiểm tra giá trị của attribute có không chứa điều kiện không.
  * any : Kiểm tra attribute có giá trị không.
  * null : Kiểm tra attribute có đang null (không có giá trị gì) không.

![Các phương thức so sánh attribute ](/files/-MdGu_u_t2VZvg2YCx0s)

{% hint style="info" %}
VD: Attribute {{HoTen}} có giá trị là Nguyễn Văn A.

* Attribute {{HoTen}} start Nguyễn → Điều kiện đúng.
* Attribute {{HoTen}} end B → Điều kiện sai.
* Attribute {{HoTen}} have Nguyễn → Điều kiện đúng.
* Attribute {{HoTen}} have not Văn → Điều kiện sai.
* Attribute {{HoTen}} have not Đào → Điều kiện đúng.
* Attribute {{HoTen}} any → Điều kiện đúng.
* Attribute {{HoTen}} null → Điều kiện sai.
  {% endhint %}

2\. Điều kiện Sequence:&#x20;

* Kiểm tra xem người dùng đã (Đang trong; Đang không trong; Đã từng; Chưa từng) sequence đó chưa.
* Kiểm tra xem người dùng đã (Đang trong; Chưa vào; Đã vào; Đã ra) sequence đó chưa.

![Các phương thức so sánh sequence](/files/-MdGvH8Jls01WpNffcJy)

* \=: Đang trong sequence.
* !=: Đang không trong sequence.
* was: Đã từng vào sequence.
* was not: Chưa từng vào sequence.

3\. Phép so sánh **AND** và **OR** giữa các điều kiện.

* Chỉ được chọn 1 phương thức là and hoặc or trong bộ lọc.
* Điều kiện được kiểm tra từ trên xuống dưới theo phép so sánh đã set trong bộ lọc.&#x20;

| Phép So Sánh | Kết Quả                                                                                                  |
| ------------ | -------------------------------------------------------------------------------------------------------- |
| AND          | <p>Trả về ĐÚNG nếu tất cả các điều kiện là Đúng.</p><p>Trả về SAI nếu một trong các điều kiện là Sai</p> |
| OR           | <p>Trả về ĐÚNG nếu một trong các điều kiện là Đúng.</p><p>Trả về SAI nếu tất cả điều kiện là Sai</p>     |

{% hint style="info" %}
VD: Attribute {{Tuoi}} có giá trị là 20; Attribute {{HoTen}} có giá trị 'Nguyễn Văn A'

{{Tuoi}} > 20     or    {{HoTen}} start Nguyễn  → Đúng

{{Tuoi}} = 20     and    {{HoTen}} start Nguyễn  → Đúng

{{Tuoi}} > 20     and    {{HoTen}} start Nguyễn  → Sai
{% endhint %}

### 2. Block được go to:

* Chọn block gửi cho khách hàng khi điều kiện của khách hàng đó thỏa mãn bộ lọc phía trên.
* Có thể gửi nhiều lựa chọn block bằng cách click random block. Các block từ trên xuống dưới được hệ thống tự động chọn ngẫu nhiên 1 trong các block đã set để gửi cho khách hàng khi điều kiện của khách hàng thỏa mãn bộ lọc.
* Số lượng block random là không giới hạn.

![VD thẻ Go To Block](/files/-LtIQ1xmRFhnxgBpT45o)


# \_2.9 Sequence

Kịch bản chăm sóc khách hàng.

![Vị trí thẻ sequence (Cuộn xuống hoặc tìm kiếm hoặc chọn trong cột SmaxBot)](/files/-MdGvoxnXecQqcNIvzvo)

**Chức Năng**: Element Sequence dùng để thêm khách hàng vào 1 kịch bản chăm sóc hoặc xóa khách hàng ra khỏi kịch bản chăm sóc dựa theo điều kiện đã set trong thẻ Sequence.

![VD thẻ sequence](/files/-MdGw2pfeE4LK6Hl5wzu)

### 1. Điều kiện lọc:&#x20;

Xem lại \_2.6 Go to Block (Mục 1: Điều kiện (Bộ lọc)).

{% content-ref url="/pages/-Ln33L4jrA\_cUA\_h765C" %}
[\_2.8 Go to Block](/2.-gioi-thieu-cac-element-card/_2.8-go-to-block)
{% endcontent-ref %}

### 2. Hành động:

* Có 2 hành động trong thẻ Sequence là Add và Remove.
* Add: Thêm khách hàng vào 1 kịch bản chăm sóc.
* Remove: Xóa khách hàng ra khỏi kịch bản chăm sóc.

**Lưu Ý**:&#x20;

* Khi muốn thêm nhiều kịch bản chăm sóc hoặc xóa kịch bản chăm sóc cho khách hàng trong 1 element sequence thì click Add hoặc Remove bên dưới.
* Khi khách hàng đã vào kịch bản chăm sóc nào đó, họ sẽ không thể vào lại được.
* Cách vào cho khách hàng vào lại kịch bản chăm sóc: Phải remove kịch bản chăm sóc sau đó mới add lại.

![](/files/-MdGwxuid58x9V4bc45e)

* Chọn Now để thêm vào sequence ngay hoặc At để chọn thời gian thêm vào sequence

![](/files/-MdGwW4KhK-ZqAXVsat8)


# \_2.10 JsonAPI

Gửi Request để kết nối với bên thứ 3.

![Vị trí thẻ JSON API (Cuộn xuống hoặc tìm kiếm hoặc chọn trong cột SmaxBot)](/files/-MdGxi6jMUtLgAcaiIum)

**JSON API**&#x20;

The JSON API plugin enables you to integrate your backend into your chat bots on **Smax bot**.

It allows you to

* Generate dynamic content
* Get and set user attributes
* Redirect users to another block in the bot
* Create postbacks

You can use GET and POST requests - the max. timeout is always 10 seconds. There are four options to enter data that will be sent with your request:

1\. URL — This field supports user attributes, they will be URL-encoded with your request

![](/files/-MLLIz_nGCJLLRURSEp8)

2\. Full JSON profile (POST requests only) — This will send all the user attributes of the user to your backend

![](/files/-MLLJ5Seon84Nh9HrDHJ)

3\. JSON Body (POST requests only) — This is a customizable field and will be validated as JSON.

![](/files/-MLLJFI4RDJT-pX0ser3)

4\. URL Encoded (POST requests only) — The data will be encoded before sending your request.

![](/files/-MLLJM3GwrQkdpcG6W9q)

In your responses, you can

* combine several messages in one answer by sending several dictionaries in the messages array.&#x20;
* use any content type header.
* send an empty response to not show the user any dynamic content.

### Response Reference <a href="#response-reference" id="response-reference"></a>

**Sending text**

Use this response to send text messages.

```
{
 "messages": [
   {"text": "Welcome to the Smax Rockets!"},
   {"text": "What are you up to?"}
 ]
}
```

**Sending images**

Use this response to send image files. Messenger supports JPG, PNG and GIF images. If you are having issues with GIF rendering, please try to reduce the file size.

```
{
  "messages": [
    {
      "attachment": {
        "type": "image",
        "payload": {
          "url": "https://smax.bot/assets/images/homepage/ourprod-bot.png"
        }
      }
    }
  ]
}
```

You can also directly use Facebook Posts with media instead of uploading it manually:

```
{
  "messages": [
    {
      "attachment": {
        "type": "template",
        "payload": {
          "template_type": "media",
          "elements": [
            {
              "media_type": "image",
              "url": "https://www.facebook.com/smaxbot/photos/1087668107975064",
              "buttons": [
                {
                  "title": "Go to Smax!",
                  "type": "web_url",
                  "url": "https://smax.bot/"
                }
              ]
            }
          ]
        }
      },
      "quick_replies": [
        {
          "title": "That's cool!",
          "payload": "string"
        }
      ]
    }
  ]
}
```

**Sending video**

Use this response to send video files. Messenger supports MP4 videos, which are up to 25MB in size.&#x20;

```
{
  "messages": [
    {
      "attachment": {
        "type": "video",
        "payload": {
          "url": "https://rockets.smax.bot/assets/video.mp4"
        }
      }
    }
  ]
}
```

You can also directly use Facebook Posts with media instead of uploading it manually:

```
{
  "messages": [
    {
      "attachment": {
        "type": "template",
        "payload": {
          "template_type": "media",
          "elements": [
            {
              "media_type": "video",
              "url": "https://www.facebook.com/smaxbot/videos/252894858962779/",
              "buttons": [
                {
                  "title": "Go to Chatfuel!",
                  "type": "web_url",
                  "url": "https://smax.bot/"
                }
              ]
            }
          ]
        }
      },
      "quick_replies": [
        {
          "title": "That's cool!",
          "payload": "string"
        }
      ]
    }
  ]
}
```

**Sending audio**

Use this response to send audio files. Messenger supports MP3, OGG, WAV audios, which are up to 25MB in size.

```
{
  "messages": [
    {
      "attachment": {
        "type": "audio",
        "payload": {
          "url": "https://rockets.smax.bot/assets/hello.mp3"
        }
      }
    }
  ]
}
```

**Sending files**

Use this response to send any other files, which are no larger than 25 MB.

```
{
  "messages": [
    {
      "attachment": {
        "type": "file",
        "payload": {
          "url": "https://rockets.smax.bot/assets/ticket.pdf"
        }
      }
    }
  ]
}
```

**Sending galleries**

Use this response to send a horizontal scrollable gallery. Each item is composed of an image attachment, short description and buttons to request input from the user.\
Note: messenger\_extensions should only be added if you are using [Messenger Extensions](https://docs.chatfuel.com/configure/chat-extensions).

```
{
 "messages": [
    {
      "attachment":{
        "type":"template",
        "payload":{
          "template_type":"generic",
          "image_aspect_ratio": "square",
          "elements":[
            {
              "title":"Chatfuel Rockets Jersey",
              "image_url":"https://rockets.smax.bot/assets/shirt.jpg",
              "subtitle":"Size: M",
              "buttons":[
                {
                  "type":"web_url",
                  "url":"https://rockets.smax.bot/store",
                  "title":"View Item"
                }
              ]
            },
            {
              "title":"Chatfuel Rockets Jersey",
              "image_url":"https://rockets.smax.bot/assets/shirt.jpg",
              "subtitle":"Size: L",
              "default_action": {
                "type": "web_url",
                "url": "https://rockets.smax.bot/store",
                "messenger_extensions": true
              },
              "buttons":[
                {
                  "type":"web_url",
                  "url":"https://rockets.smax.bot/store",
                  "title":"View Item"
                }
              ]
            }
          ]
        }
      }
    }
  ]
}
```

**Sending receipts**

Use this response to send an order confirmation. It may include an order summary, payment details, and shipping information.

```
{
  "messages": [
    {
      "attachment": {
        "type": "template",
        "payload": { 
          "template_type": "receipt",
          "recipient_name": "Mark Zuckerberg",
          "order_number": "12345678901",
          "currency": "USD",
          "payment_method": "Visa 2345",
          "order_url": "https://rockets.smax.bot/store?order_id=12345678901",
          "timestamp": "1428444666",
          "address": {
            "street_1": "1 Hacker Way",
            "street_2": "",
            "city": "Menlo Park",
            "postal_code": "94025",
            "state": "CA",
            "country": "US"
          },
          "summary": {
            "subtotal": 105,
            "shipping_cost": 4.95,
            "total_tax": 9,
            "total_cost": 118.95
          },
          "adjustments": [
            {
              "name": "CF Rockets Superstar",
              "amount": -25
            }
          ],
          "elements": [
            {
              "title": "Chatfuel Rockets Jersey",
              "subtitle": "Size: M",
              "quantity": 1,
              "price": 65,
              "currency": "USD",
              "image_url":   "http://rockets.smax.bot/assets/shirt.jpg"
            },
            {
              "title": "Chatfuel Rockets Jersey",
              "subtitle": "Size: L",
              "quantity": 1,
              "price": 65,
              "currency": "USD",
              "image_url":   "http://rockets.smax.bot/assets/shirt.jpg"
            }
          ]
        }
      }
    }
  ]
}
```

**Buttons**

Use this JSON to add buttons to your responses. You can set buttons to link to a block in the dashboard, open a website, or send another request to your backend. Buttons are limited to 3 items per message.

```
{
  "messages": [
    {
      "attachment": {
        "type": "template",
        "payload": {
          "template_type": "button",
          "text": "Hello!",
          "buttons": [
            {
              "type": "show_block",
              "block_names": ["name of block"],
              "title": "Show Block"
            },
            {
              "type": "web_url",
              "url": "https://rockets.chatfuel.com",
              "title": "Visit Website"
            },
            {
              "url": "https://rockets.smax.bot/api/welcome",
              "type":"json_url",
              "title":"Postback"
            }
          ]
        }
      }
    }
  ]
}
```

You can also use the Call button, this button dials a phone number when tapped.

```
{
  "messages":[
    {
      "attachment":{
        "type":"template",
        "payload":{
          "template_type":"generic",
          "elements":[
            {
              "title":"Get in touch",
              "image_url":"https://rockets.smax.bot/assets/contact.jpg",
              "subtitle":"Feel free to hit us up!",
              "buttons":[
                {
                  "type":"phone_number",
                  "phone_number":"+19268881413",
                  "title":"Call"
                }
              ]
            }
          ]
        }
      }
    }
  ]
}
```

**Quick replies**

Use this JSON to add quick replies to your responses. Quick replies are limited to 11 items per message.

```
{
  "messages": [
    {
      "text":  "Did you enjoy the last game of the CF Rockets?",
      "quick_replies": [
        {
          "title":"Loved it!",
          "block_names": ["Block 1", "Block 2"]
        },
        {
          "title":"Not really...",
          "url": "https://rockets.smax.bot/api/sad-match",
          "type":"json_url"
        },
        {
          "title": "More...",
          "payload": "string"
        }
      ]
    }
  ]
}
```

**Setting user attributes**

You can set user attributes by having the field set\_attributes as bellow&#x20;

```
{
  "set_attributes":
    {
      "some attribute": "some value",
      "another attribute": "another value"
    },
  "messages":[
    . . .
  ]
}
```

**Redirect to blocks**

You can redirect a user to a block or to a sequence of blocks — no user action is needed.

```
{
  "redirect_to_blocks": ["Welcome Message", "Default Answer"]
}
```

\
Do keep in mind that for other functionalities or compiling functions to work altogether is out of Smax's scope of support and we suggest to get help from an [Expert](https://www.messenger.com/t/smax.apps).


# \_2.11 Attr to Sheet

Lưu dữ liệu vào google sheet

![Vị trí thẻ Attribute to Sheet (Cuộn xuống hoặc tìm kiếm hoặc chọn cột google)](/files/-MdKiHLcL-3f7tRAak5h)

### 1. Hướng dẫn kết nối:&#x20;

1. Bước 1: Click thẻ Attr to Sheet. Thẻ Attr to sheet được tạo.

![](/files/-MdKj7XBpUiVKAvq70Jr)

1. Bước 2: Chọn Add new để kết nối với tài khoản Google sheet.                       &#x20;

![](/files/-MdKjJ_gwXbgk40wPHNg)

1. Bước 3: Chọn Google Auth → Chọn tài khoản kết nối -> Chọn Allow để đồng ý cấp quyền                                                                                                                                     &#x20;

<div align="center"><img src="/files/-MdKjteKxfuJjNRSS3l2" alt="Nhấn google auth để kết nối với google"></div>

![Sau khi đã kết nối google](/files/-MdKkUDaZV8ciMOm2KPa)

1. Bước 5: Copy Link sheets cần kết nối trên địa chỉ trình duyệt rồi dán vào SPREADSHEET.

![](/files/-MdKl6iQJcYia5b0zdqp)

1. Bước 6: Nhấn nút xoay bên phải để load các Sheet vào Tab SHEET. Sau đó chọn tên sheet muốn kết nối bên tab SHEET.                           &#x20;

![](/files/-MdKlEwyXYHAal_kJ2Bc)

Như vậy là đã kết nối xong thẻ Attr to Sheets với google sheet.

### 2. Truyền các giá trị lưu lên sheet.

Click Add Column để thêm các cột.

1. COLUMN NAME: Tên cột trên Sheet. Hệ thống sẽ load tên các cột về bot khi click nút xoay bên cạnh link sheet.                   &#x20;

&#x20;                                                                 &#x20;

![Cột trên sheet tương ứng với Column Name](/files/-MdKnPz5Y1DgPEbikVUs)

1. ATTR: Attribute chứa giá trị muốn lưu trên Google sheet.

   * Chỉ chọn được 1 Attribute trong mỗi trường.
   * Không thể sử dụng hàm trong đây.
   * Hệ thống sẽ lưu giá trị của attribute đó vào cột tương ứng.&#x20;

   &#x20;

![](/files/-MdKp2LVSzAfoBlBuSt8)

3\. Button Test Demo Data: Dùng để test demo xem kết nối giữa **Smax Bot** với google sheet đã được chưa. Sau khi click vào Demo Data, google sheet xuất hiện 1 trường thông tin là đã kết nối thành công.                                                         &#x20;

![Nút Test Demo Data](/files/-MdKpIZ6A-g-kFX7sTj5)

**Lưu Ý**: Kiểm tra tài khoản google đăng nhập trên element Attr to Sheets có đúng với tài khoản đang đang nhập trên trình duyệt không. Nếu test Demo Data mà không có dữ liệu trên Sheet thì bạn đã cung cấp quyền tài khoản sai bạn hãy cung cấp lại nhé.

&#x20; 4\. Check box Update when match value:&#x20;

* Dùng để update dữ liệu khi có giá trị khớp với giá trị trên sheet tại cột được set.
* Giá trị trong cột tìm kiếm trên sheet nếu khớp với giá trị của Attribute truyền lên sẽ được update. Nếu không khớp sẽ không làm gì hết.&#x20;
* Check box "New Row when dont match value" dùng để tạo một hàng mới khi cột tìm kiếm trên sheet  không có giá trị nào khớp với giá trị của attribute truyền lên.

{% hint style="info" %}
**VD**: Sử dụng trường hợp này là khi sử dụng chatbot viral để thu thập thông tin khách hàng, ta sẽ dùng cột tìm kiếm là Messenger user id có giá trị là {{messenger user id}}, sau đó tích vào ô check box "Update when match value" và ô check box "New Row when dont match value". Tức là nếu khách hàng lần đầu tiên cung cấp thông tin thì sẽ chèn vào 1 hàng mới trên sheet. Còn nếu khách hàng muốn quay lại sửa thông tin (ví dụ cập nhật SĐT và Địa Chỉ) thì nó sẽ tự động cập nhật dữ liệu vào chính khách hàng này vì ta đã dùng cột tìm kiếm là Messenger user id.
{% endhint %}


# \_2.12 Sheet to Attr

Cập nhật giá trị trên google sheet vào Attribute.

![Vị trí thẻ Sheet to Attr (Cuộn xuống hoặc tìm kiếm hoặc chọn cột google)](/files/-MdKsAwNebnmrAEHXTcq)

### 1. Hướng dẫn kết nối: Xem lại \_2.10 Attr to Sheet mục 1: Hướng dẫn kết nối.

{% content-ref url="/pages/-Lsu-uvaRnQPrv7PIqct" %}
[\_2.11 Attr to Sheet](/2.-gioi-thieu-cac-element-card/_2.11-attr-to-sheet)
{% endcontent-ref %}

### **2. Cập nhật giá trị trên google sheet vào Attribute.**

1. **Cột Tìm Kiếm:** Là cột trên sheet muốn tìm kiếm hàng có giá trị trùng với giá trị trong attribute truyền lên.
2. **ATTR**: Attribute muốn truyền giá trị lên để tìm kiếm.
3. ATTR: Chọn Attribute muốn lưu giá trị trên Sheet.
4. COLUMN NAME: Chọn tên cột để lấy giá trị
5. Lưu nhiều giá trị vào các attribute bằng cách Add Column.

![VD thẻ Sheet to Attribute](/files/-MdKu3JFSsV3S7Vn1dDV)

**Lưu Ý**:&#x20;

* Không thể lưu giá trị trên sheet vào 1 Attribute của hệ thống.
* Cột tìm kiếm phải là cột có các giá trị là duy nhất. Trong trường hợp có nhiều giá trị trùng trong cột tìm kiếm thì giá trị của hàng cuối cùng có các giá trị tương ứng với attribute sẽ được lưu.

{% hint style="info" %}
VD: <img src="/files/-LtL-pMLudntj7XBm7tW" alt="" data-size="original">&#x20;

Có một sheet có các giá trị như trên, cột tìm kiếm Messanger User ID có 3 giá trị trùng nhau thì các attribute trong bot sẽ lưu các giá trị tương ứng trong hàng cuối cùng
{% endhint %}

{% hint style="info" %}
**VD dùng element Sheet to Attr**:&#x20;

Khi sử dụng chatbot viral để thu thập thông tin khách hàng. Sau khi thu thập thông tin ta sẽ đưa qua hãng vận đơn để nhận mã vận đơn. Và nếu khách hàng muốn kiểm tra đơn hàng của mình sẽ dùng mã vận đơn này. \
Đầu tiên, ta sẽ dùng cột tìm kiếm là Messenger user id có giá trị là {{messenger user id}}. Tức là nếu khách hàng đã tồn tại trên sheet thì bot sẽ trả về mã vận đơn và lưu nó vào thuộc tính {{mahoadon}}. Từ đó, khách hàng có thể biết được tình trạng đơn hàng của mình thông qua thuộc tính {{mahoadon}}.
{% endhint %}


# \_2.13 Note

Thẻ ghi chú

![Vị trí thẻ note (Cuộn xuống hoặc tìm kiếm hoặc chọn cột SmaxBot)](/files/-MdKunaVWLNUSlgDU16V)

**Chức Năng**: Là một loại thẻ chức năng dùng để ghi chú trong bot (Không hiển thị khi chạy trên messenger). Nội dung bên trong là đoạn văn bản giúp người dùng **Smax bot** ghi chú lại các nội dung khi xây dựng kịch bản.

![Một đoạn ghi chú dùng trong Smax bot](/files/-LtBGzlXQAW22qWWCq48)


# \_2.14 On/Off Bot

Thẻ dừng bot

![Vị trí thẻ On/Off bot (Cuộn xuống hoặc tìm kiếm hoặc chọn cột SmaxBot)](/files/-MdKx1T2CkTUQsJdQwtu)

**Chức Năng**: Dùng để dừng bot không giao tiếp với khách hàng nữa. Khi có 1 người dùng chạy tới thẻ On/Off Bot thì người dùng đó sẽ bị dừng giao tiếp với bot theo thời gian đã cài đặt trong thẻ.

* Chọn dạng bật (on) hoặc tắt (off) để dừng hoặc chạy bot
* Có 3 kiểu tắt trong thẻ On/Off Bot: Tắt trong khoảng thời gian, Tắt đến thời điểm và Tắt đến khi bật lại.

![](/files/-MdKySWdXVcoCMu0PP_4)

1\. Tắt đến khi bật lại:&#x20;

* Kiểu tắt này sẽ giúp bot tắt giao tiếp với user bị stop bot đến khi admin vào bật lại bot cho user đó.&#x20;
* Sau khi bật lại bot cho user bị tắt bot, hệ thống sẽ tự động gửi cho user đó 1 block được set trong thẻ (Go to block có thể điền hoặc không).                                                                                                                                                                                 &#x20;

![Tắt đến khi bật lại](/files/-MdKzn7lkp3Tm4lOwLvN)

* **Bật bot**: Kiểu tắt này bắt buộc admin phải vào bật lại bot cho user bị stop bot. Muốn bật lại bot làm theo hướng dẫn sau: Vào bot → Khách Hàng → Tìm user muốn bật → Click vào user đó → Turn On.

![Click Turn On để chạy bot](/files/-MdL-MF-RaAIQ1vgaUxe)

&#x20;2\. Tắt đến thời điểm

![Tắt tới thời điểm](/files/-MdL-VwZRtJKf0Os4Z8Z)

* Kiểu tắt này giúp bot tắt giao tiếp với 1 user đến 1 thời điểm nào đó được set trong thẻ.                                                                                                        &#x20;
* Khi tới thời điểm được set, hệ thống sẽ tự động bật lại bot cho user đó. Nếu có Go to block, hệ thống sẽ tự động gửi block được chọn cho user.

3\. Tắt trong khoảng thời gian

![](/files/-MdL04Bym7Yr22uTtWM4)

* Kiểu tắt này giúp bot tắt giao tiếp với 1 user trong 1 thời điểm được set trong thẻ.
* Trường thời gian tắt là 1 số.
* Trường đơn vị: Ngày; Giờ và Phút.
* Sau khi hệ thống đếm ngược thời gian tắt về đến 0 thì bot đó sẽ được tự động bật lại giao tiếp với user.&#x20;


# \_2.15 Send Block

Gửi Block cho 1 uer khác

![Vị trí thẻ Send Block (Cuộn xuống hoặc tìm kiếm hoặc chọn cột SmaxBot)](/files/-MdL21EtXk5NfEh-ZNF_)

**Chức Năng**:&#x20;

* Khi bot chạy tới block này, hệ thống sẽ tự động gửi các block tới những người có ID được set trong thẻ Send Block.
* Element này thường được dùng để thông báo cho những admin khi có khách hàng vào hỏi sản phẩm hoặc cần tư vấn.&#x20;
* **Đặc Biệt** dùng nhiều trong trường hợp gửi thông báo cho người share khi có người tham gia các chiến dịch **Viral Bot.**

![Send block cho PSID](/files/-MdL4qlH9ZtWd7VcCGAz)

**1. GỬI BLOCK**&#x20;

Là trường set những block muốn gửi cho một ai đó.

**2. NGƯỜI NHẬN**

Có **3** lựa chọn là Admin Page, PSID (messenger user ID) hoặc PSID in reflink.

1. &#x20;PSID (messenger user ID)
   * Copy ID của người muốn gửi cho vào PSID or list PSIDs.
   * Muốn gửi cho nhiều người thì copy ID từng người muốn gửi cho vào PSID or list PSIDs, mỗi ID  nằm trên 1 dòng.
2. Admin Page - Chọn những admin muốn gửi
3. Ref

**Lưu Ý**: Muốn lấy attribute hoặc hàm của người gửi cho người được gửi thì dùng ${{attribute}}$ hoặc $\[=FOMULA(x)]$

{% hint style="info" %}
VD: Muốn gửi tin: Anh Nguyễn Văn A ơi có chị Phạm Thị N cần được tư vấn.

\*\* Chúng ta sẽ set tin nhắn trong block gửi đi như sau:

\[=GENDER(Anh,Chị,Bạn)] {{full name}} ơi có $\[=GENDER(anh,chị,bạn)]$ ${{full name}}$ cần được tư vấn.

\*\* Trong đó:&#x20;

\+ \[=GENDER(Anh,Chị,Bạn)] = Anh (Giới tính của người nhận  block).

\+ {{full name}} = Nguyễn Văn A (Tên của người nhận block).

\+ $\[=GENDER(anh,chị,bạn)]$ = chị (Giới tính của người gửi block)

\+ ${{full name}}$ = Phạm Thị N (Tên của người gửi block)
{% endhint %}

![VD tin nhắn trong block được gửi.](/files/-LtJX5rQapvFBBr5baZe)


# \_2.16 A/B Testing

Lựa chọn 1 block ngẫu nhiên theo tỉ lệ % gửi cho khách hàng.

![Vị trí thẻ A/B Testing (Cuộn xuống hoặc tìm kiếm hoặc chọn cột SmaxBot)](/files/-MdL7EINrf7WyvZCpetX)

**Chức Năng**: Gửi một block ngẫu nhiên trong những block được lựa chọn trong thẻ để gửi cho khách hàng theo tỉ lệ % đã set trong element A/B Testing.

![](/files/-MdL7QfwVrm0gOm07kvu)

1\.  Tên Nhánh: Là tên để phân biệt giữa các nhánh, không có chức năng gì.

2\. Phần trăm: Là tỉ lệ phần trăm gửi những block trong 1 nhánh.

* Nếu trên 1 nhánh có nhiều Block thì bot sẽ gửi tất cả những block trên nhánh đó nếu hệ thống lựa chọn nhánh đó để gửi.                                                                     &#x20;

![](/files/-MdL7kSeDsgmFUno-uKx)

* Muốn thêm nhánh mới Click Thêm nhánh.

**Lưu Ý**: Check box " Luôn random trên một khách hàng " dùng để random lại luồng kịch bản khi khách hàng đó chạy lại đến thẻ A/B Testing.


# \_2.17 Page Event

![Vị trí thẻ Page Event (Cuộn xuống hoặc tìm kiếm hoặc chọn cột Facebook)](/files/-MdMBVZJ_elRTaXeOERO)

Tính năng: Thẻ này dùng để đo lường sự kiện người dùng đồng bộ lên quảng cáo Facebook.

![](/files/-MdMDbqvFDCXfUk75lKW)

**EVENT NAME:** Chọn sự kiện mà bạn muốn đo lường hành động của khách hàng (hành động này sẽ đồng bộ với trình quảng cáo của bạn)

> View Content: Hành động khách hàng đang tham khảo
>
> Add to cart: Hành động khách hàng đã mua hàng
>
> Purchase: Hành động khách hàng đã thanh toán

**CURRENCY:** Lựa chọn tiền tệ mà khách hàng thanh toán

**CONTENT ID:** Hiểu là ID sản phẩm của bạn trên phần mềm quản lý của bạn.

**CONTENT TYPE:** bạn bán gì thì nhập cái đó vào (product, video, document...)

**PRICE OF ITEM VIEWED:** Giá của sản phẩm mà khách hàng đang quan tâm (hệ thống sẽ nhận dạng từ attribute được set)


# \_2.18 Check Like

Kiểm tra người dùng đã like fanpage chưa.

![Vị trí thẻ Check Like (Cuộn xuống hoặc tìm kiếm hoặc chọn cột Facebook)](/files/-MdMEEnKI5yJ2um6-Z3r)

**Chức năng**: Kiểm tra user đang tương tác đã like Page chưa, nếu đã like sẽ gửi Block 1, chưa like gửi Block 2.

![](/files/-MdMERZN_RTjk32PH8j-)

\*\* Thẻ chức năng giúp tăng lượt like Page một cách hiệu quả trong các chiến dịch tặng quà. Nếu check like khách hàng đã like thì được nhận quà, chưa like sẽ hướng khách hàng tới block nhắc nhở like và có nút like dẫn đường link tới Page của mình để khách hàng like.

{% hint style="info" %}
Lưu ý: Tính năng này gặp lỗi không check được like và báo rằng người dùng chưa like page. Nguyên nhân là do người dùng đó đặt bảo mật trang cá nhân cao, làm ẩn đi phần hiển thị page đã like dẫn tới chatbot không thể biết được họ đã like hay chưa (dù khách đã like rồi). Cần cân nhắc cẩn thận khi sử dụng tính năng này cho chiến dịch của bạn.
{% endhint %}


# \_2.19 Send Video

![Vị trí thẻ Video](/files/-MdQ0L-WK92_c9A9Izdt)

**Chức năng**: Gửi video cho khách hàng

![](/files/-MdQ0TyrRrCaQ-Om6l9b)

**Link Facebook:** Bạn có thể update video lên fanpage, hoặc lên trang cá nhân (profile) của các bạn, copy link trên trình duyệt và dán vào

**Link Cloud:** Bạn có thể upload video lên cloud (các hosting hoặc tài khoản cloud storage) lấy link trực tiếp theo định dạng <https://domain.com/....video.mp4>

**Link Dropbox:** Bạn có thể upload video lên dropbox, sau đó chọn vào "***Share***"

![](/files/-LwShiaFEhZ4U_qMxa28)

Tiếp theo hệ thống sẽ hiện ra 1 popup bạn chọn vào "***Create link***"

![](/files/-LwSht079zZkZmK8N6ii)

Đợi 1 vài giây hệ thống sẽ sinh ra đường link, bạn click vào "***Copy Link***"

![](/files/-LwSi2GJGhOfQVvjrLAv)

Copy xong bạn dán trực tiếp vào thẻ Video của Smax.bot mà không cần chỉnh sửa gì.

VD định dạng link: [https://www.dropbox.com/s/p9oq6r80a7ia6417/video2.wmv?dl=0](https://www.dropbox.com/s/p9oq6r80a7ia417/video.wmv?dl=0)


# \_2.20 Delay

Chức năng: tạm dừng 1 thời gian.

![Vị trí thẻ Delay (Cuộn xuống hoặc tìm kiếm hoặc chọn cột SmaxBot)](/files/-MdQ24bNIrw4gVVLl-JJ)

Thông thường khi bạn sử dụng bot để chạy các tính năng như lưu thông tin vào sheet, gửi broadcast... , sẽ gặp vấn đề nếu quá nhiều người dùng cùng lưu thì dễ dẫn tới việc kết nối với Google Sheet sẽ bị gián đoạn => Sót dữ liệu

Các bạn có thể sử dụng thẻ Delay này để "làm chậm" tiến độ, tránh việc quá tải cho file sheet.


# \_2.21 Audio

![Vị trí thẻ Audio](/files/-MdQ2kT8BpdeUUQoF5TI)

**Chức năng**: Gửi file Audio cho khách hàng

![](/files/-MdQ2qcf7ZgOFZjcsnN-)

**Link Cloud:** Bạn có thể upload audio lên cloud (các hosting hoặc tài khoản cloud storage) lấy link trực tiếp theo định dạng <https://domain.com/....audio.mp3>

**Link Dropbox:** Bạn có thể upload audio lên dropbox, sau đó chọn vào "***Share***"

![](/files/-LwShiaFEhZ4U_qMxa28)

Tiếp theo hệ thống sẽ hiện ra 1 popup bạn chọn vào "***Create link***"

![](/files/-LwSht079zZkZmK8N6ii)

Đợi 1 vài giây hệ thống sẽ sinh ra đường link, bạn click vào "***Copy Link***"

![](/files/-LwSi2GJGhOfQVvjrLAv)

Copy xong bạn dán trực tiếp vào thẻ Audio của Smax.bot mà không cần chỉnh sửa gì.

VD định dạng link: [https://www.dropbox.com/s/p9oq6r80a7ia6417/audio.mp3?dl=0](https://www.dropbox.com/s/p9oq6r80a7ia417/video.wmv?dl=0)


# \_2.22 Add Album

![Vị trí thẻ Add Album (Cuộn xuống hoặc tìm kiếm hoặc chọn cột Facebook)](/files/-MdQ3Jmbr0RfFAyggoQ_)

**Chức Năng:** Đăng một nội dung tự động lên trên một Album của Fanpage.

1. ALBUM ID OR LINK: Link album hoặc id của album cần đăng nội dung lên.
2. MASSAGE: Nội dung content trong bài đăng Album. Hỗ trợ truyền Attribute, Hàm, Spin.
3. URL: Link của hình ảnh muốn đăng. Truyền vào là một link cố định hoặc một attribute link hình ảnh.

**Cách sử dụng hiệu quả:** Sử dụng tích hợp với plugin Custom Image của botplus để tạo thẻ giảm giá, ảnh quà tặng, thẻ thành viên... để đăng những hình ảnh đó kèm nội dung chúc mừng khách hàng lên album.&#x20;


# \_2.23 SmaxChat Tags

Cấu hình Smaxbot tự động gắn thẻ khách hàng trên SmaxChat

![Vị trí thẻ SmaxChat Tags (Cuộn xuống hoặc tìm kiếm hoặc chọn cột Integration)](/files/-MdQ6B___ltax7cqqRtU)

Bạn đang sử dụng Smax.chat để quản lý tin nhắn với khách hàng và đang chạy quảng cáo, muốn tự động gắn thẻ để nhân viên có thể theo dõi, chăm sóc theo kịch bản. Thì element này sẽ hỗ trợ bản làm điều đó:

### 1- Tạo tags bên SmaxChat

\- Bạn vào mục **Cấu hình (1)** sau đó đến phần **Tags (2)**, nhấn **Thêm Tag Mới (3)**, tạo **tên Tag (4)**

![](/files/-MdQA1fvQ1RYznHKRTYC)

### 2- Kết nối với SmaxBot.

&#x20;\- Bạn vào mục **Cấu hình (1)** sau đó đến phần **Integrations (2)**, nhấn nút bật kết nối với SmaxBot **(3)**&#x20;

![](/files/-MdQAZYslrzdJcJO8gPL)

### 3- Tạo thẻ (card) để gắn tags.

\- Bạn vào 1 block và thêm thẻ **SmaxChat Tags (1)**\
\- Sau đó chọn **Add** hoặc **Remove** Tags tùy nhu cầu của bạn **(2)**\
\- Chọn **tên Tag (3)** mà bạn mới tạo ở hướng dẫn phía trên&#x20;

![](/files/-MdQBqq42S50pN1ETxFq)

### 3- Lưu ý:

\- Bạn phải chọn **đúng page** ở cả **SmaxChat** và **SmaxBot** nhé, nhiều bạn chọn sai page nên sẽ không gắn tags được.


# \_2.24 Media

![Vị trí thẻ Media](/files/-MdQCgqZ4XNvQDjiyYo0)

### **Chức Năng**:&#x20;

Dùng để gửi 1 hình ảnh hoặc 1 video đã được upload lên fanpage hoặc từ fanpage khác cho người dùng.&#x20;

### **Media Type:**&#x20;

![Chọn Video hoặc Image](/files/-MdQDTocEKIkyeHF-8X4)

Dùng để lựa chọn dạng media để gửi, có 2 loại: một là Video hai là Image

### Facebook URL:

Là đường dẫn của nội dung bạn muốn gửi cho khách.&#x20;

{% hint style="info" %}
Ví dụ: bạn bán sản phẩm giày, bạn muốn gửi video trực tiếp cho khách mà không phải tải video về máy (hoặc ảnh) thì bạn có thể sử dụng tính năng này, Copy đường dẫn trên trình duyệt rồi dán vào. Smax sẽ tự lấy nội dung đó và gửi cho khách của bản.
{% endhint %}


# \_2.25 One-Time Notification

Thông báo cho người dùng

![Vị trí thẻ One-Time (Cuộn xuống hoặc tìm kiếm hoặc chọn cột Facebook)](/files/-MdQEHRNSKOmKlxaD3Fl)

**Thẻ này dùng trong trường hợp nào?**

Mình lấy 1 ví dụ nhỏ: khách hàng của bạn muốn mua  iphone 11 nhưng 3 tháng nữa mới có hàng. Vậy làm thế nào để 3 tháng sau bạn có thể nhắn được tin cho khách hàng để thông báo "Chiếc iphone 11" đã có hàng mà ko bị vi phạm chính sách 24h?

OK Facebook cho ra 1 loại thẻ gọi là One-Time Notification. Thẻ này sẽ gửi 1 yêu cầu tới người dùng và nếu người dùng click "chấp nhận" thì bạn sẽ nhận được 1 cái "chìa khóa" (key). Với chìa khóa này bạn có thể gửi tin nhắn (cả tin quảng cáo) cho khách hàng đó trong vòng 1 năm chứ không phải 24h nữa (tiếc là chiếc chìa khóa này chỉ dùng đc 1 lần 😭)

![Giao diện hiển thị của thẻ One-Time Notification](/files/-M27iNmEKP4uUzj5eMYG)

**Cách thức thiết lập thẻ này trên Smax:**

![](/files/-MdQJDEclCazvO-Uoyy-)

**Get Notified:** bạn nhập nội dung thông báo vào đấy (VD: có iphone 11 mới, có hàng mới, có giảm giá mới...)

**Save One-Time Token to:** bạn tạo ra 1 attribute để lưu trữ chìa khóa "key" của mỗi khách hàng

**After Click Notify Me:** sau khi khách hàng "chấp nhận" sẽ goto sang block mới (bên này bạn có thể hiển thị các nội dung như: Cảm ơn khi nào có hàng/giảm giá... shop sẽ nhắn tin cho bạn. Chúc bạn 1 ngày tốt lành.

\=> OK như vậy bạn có thể hình dung đc là Page sẽ gửi 1 nội dung là "Có Iphone 11 mới thì Page sẽ nhắn cho bạn => Nếu khách Ấn "OK báo cho tôi" thì Lập tức FB sẽ cấp cho Page 1 cái chìa khóa (key) => lưu vào trong attribute {{one-time-iphone11}} mà bạn đã tạo sẵn. (lưu ý key sẽ đi theo từng khách hàng không có chuyện ông A muốn nhận thông báo khi có Iphone 11 mà bạn lại dùng key ông A để gửi cho ông B được)

**Lưu ý:** Bạn cần phải yêu cầu xét duyệt One Time thông qua Facebook thì mới sử dụng được tính năng

![Nhấn tại đây sẽ dẫn sang trang kích hoạt](/files/-MdQJV_kDWb6L5MTez2p)

![Cài đặt page -> Nhắn tin nâng cao -> Yêu cầu xét duyệt](/files/-MdQJsBfKO3r2stf4Q8f)


# \_2.27 Attach File

Gửi tệp đính kèm cho người dùng.

![Vị trí thẻ Attach File](/files/-MdQKoYk76lN6uo5LhwT)

Tương tự với Email của google, chức năng Attach File cho phép bạn đính kèm một file bất kỳ

![Chức năng đính kèm file](/files/-MdQKxFC88A321WsEVSJ)

Khá đơn giản và dễ dùng, bạn chỉ cần làm theo hướng dẫn có trong thẻ là có thể sử dụng được chức năng này rồi.


# \_2.29 Sub/UnSub

Tạo tùy chọn cho người dùng nhận hoặc không nhận tin nhắn nữa.

![Vị trí thẻ Sub/Unsub (Cuộn xuống hoặc tìm kiếm hoặc chọn cột SmaxBot)](/files/-MdQLlgbNaPFRQ6kLPqI)

Nếu bạn muốn tạo cho khách hàng tùy chọn không nhận [Broadcast](https://tailieu.smax.bot/3.-cac-tinh-nang-chinh/_3.5-gui-broadcast) trong tương lai thì đây là chức năng của thẻ đó. Việc gửi broadcast hàng loạt đôi khi khiến khách hàng cảm thấy phiền phúc, họ rất muốn dừng nhận tin nhắn nhưng không còn cách nào khác ngoài việc block page.

Điều này ảnh hưởng đến hoạt động Remarketing của bạn rất lớn, vì khả năng facebook hạn chế gửi tin nhắn của page là rất cao. Hiểu được điều đó, Smax đã thêm vào thẻ này để hỗ trợ bạn.

Tính năng của thẻ này dùng khá đơn giản, hãy tạo một tùy chọn ngưng nhận tin nhắn cho khách hàng trong kịch bản của bạn.&#x20;

![](/files/-MdQMZKMzsPxM_VM5ppx)

Sau đó điều hướng sang block chứa thẻ này kèm theo một nội dung cảm ơn là ok!

![](/files/-MdQMgT3AaXP2OW2tGVk)

{% hint style="info" %}
Bạn yên tâm, nếu sau này họ tương tác lại với bạn thông qua inbox. Họ sẽ được chuyển sang Subscribe và có thể nhận được tin nhắn trong tương lai.
{% endhint %}


# \_2.30 Find Customer

(Tính Năng đang phát triển - Pro Version)


# \_2.31 Split Attribute

Chia nhỏ cấu trúc Attribute thành nhiều Attribute nhỏ khác

![Vị trí thẻ Split (Cuộn xuống hoặc tìm kiems hoặc chọn cột Facebook)](/files/-MdQRGIw-TKMK-yW-fAH)

Đây là một tính năng mới được Smax bot cập nhật trong thời gian gần đây. Nhằm mục đích hỗ trợ các nhà quảng cáo chạy mục tiêu chuyển đổi quả Landing Page (Ladipage) có thể truyền được dữ liệu về chatbot.

Hiểu đơn giản về thẻ Split Attribute có tính năng "chặt nhỏ" các Attribute ra và gán giá trị Attribute được "chặt" mà bạn muốn.&#x20;

![](/files/-MdQRl21xxZ4Kif1Jcjp)

* **Content Attribute**: Là nội dung của Attribute bạn muốn gọi ra để "Chặt"
* **Map Attribute**: Mô tả cho bot là bạn sẽ chặt Attribute kia như thế nào và phân loại ra sao.

Mình có hướng dẫn chi tiết trong Video: <https://youtu.be/7zHWWq7CAd8?t=287>

Chúc bạn thành công!


# \_2.32 Comment

Hỗ trợ botcomment kèm theo ảnh

![Vị trí thẻ Comment (Cuộn xuống hoặc tìm kiếm hoặc chọn cột Facebook)](/files/-MdQWEaDsKy-CgOnBz5o)

Đối với chức năng Comment sẵn có của công cụ BotComment sẽ không thể gửi hình ảnh, vì vậy thẻ Comment sẽ bổ trợ cho chức năng đó gửi thêm ảnh kèm theo.

Để sử dụng được thẻ này bạn cần phải tạo kịch bản botcomment trước, sau đó sẽ dùng chức năng **Lưu comment ID vào Attribute** hoặc **Lưu Post ID vào attribute** để lấy attribute đó sử dụng.

![](/files/-MdQe-1m0kpiGRZ2G-me)

Tiếp theo, tạo block chứa thẻ Comment, sau đó chọn **Post ID/ Comment ID (1)**, tiếp đến nhập nội dung **Text (2)** mình muốn và gửi ảnh **Image (3)** kèm theo nếu cần thiết.

![](/files/-MdQf5yNzSWD52q44GZh)


# \_2.33 Fb Audience

Thẻ thêm khách hàng vào 1 tệp đối tượng facebook

![Vị trí thẻ Fb Audience (Cuộn xống hoặc tìm kiếm hoặc chọn cột Facebook)](/files/-MdQgTKZSc604JBXT-z2)

Thẻ này giúp bạn thêm khách hàng vào 1 tệp đối tượng

**ACTION:** Add là thêm/Remove là xóa khách hàng khỏi tệp Audience

**FB AUDIENCE AUTHOR:** Người đang sở hữu tệp Audience đó (trong con bot của bạn có nhiều quản trị viên, bạn có thể chọn 1 tài khoản mà có quyền trên tệp Audience đó)

**FB AUDIENCE ID:** Nhập ID tệp đối tượng của bạn (cách lấy ID bạn vào trình quản lý đối tượng và bật cột ID đối tượng lên để xem)

![](/files/-MW8c0GyjiigRrgXIcbV)


# \_2.34 Send Gmail

Để sử dụng thẻ Send Gmail các bạn chọn theo thứ tự:

> 1- Chọn Tab Google
>
> 2- Chọn thẻ Send Gmail
>
> 3- Chọn mục Integration và chọn Add New để thêm kết nối mới.

![](/files/-MfagIkFa78kAIzEcxYz)

Tiếp theo bạn nhập tên và mô tả sau đó chọn vào Nút "Google Auth" để kết nối vào tài khoản google.

![](/files/-MfagtrCjR-JIVicGN8E)

Ở các cửa sổ hiện lên các bạn chọn tiếp tục (hoặc đồng ý) cho tới khi kết nối thành công như hình dưới thì các bạn chọn "Update"

![](/files/-MfahBQBo_GT340rZrOi)

Sau đó các bạn cấu hình thông số gửi mail:

> To Email Attr: Attribute chứa email của khách hàng
>
> Email Subject: Tiêu đề email
>
> Email Content: Nội dung email

![](/files/-MfaifqeM6GjzprFuDYh)


# \_3.1 Từ Khóa

Nhận diện từ khóa (keyword) và trả lời theo kịch bản hoặc block

![Vị trí từ khóa](/files/-MdQn5UI7Zz9J8mR8EIg)

Ngoài việc bạn có thể điều hướng kịch bản chatbot bằng các [button ](https://app.gitbook.com/@smax-bot/s/workspace/~/drafts/-MLjyqH6RbscSstWQM1k/2.-gioi-thieu-cac-element-card/_2.1-text#2-button)(khách hàng sẽ phải click vào button để chuyển sang kịch bản sau) Vậy nếu trường hợp khách hàng không chọn vào button mà lại gõ một nội dung bất kỳ thì sao?

[Smax.bot](https://smax.bot/) hỗ trợ việc cấu hình chatbot theo từ khóa cực kỳ đơn giản.

1. "Click Add Keyword Group" để phân chia thư mục các từ khóa cho tiện quản lý.
2. Smax.bot hỗ trợ 2 loại tin nhắn và nhiều loại khớp từ khóa: \
   2.1. Loại tin nhắn

   * **Tin nhắn của Khách hàng**: Tin nhắn mà khách hàng nhắn với page.
   * **Tin nhắn của Page**: Tin nhắn từ page nhắn cho khách.

   2.2. Loại khớp từ khóa&#x20;

   * **Trùng khớp**: Khớp với nội dung khách nhắn
   * **Chứa nội dung**: Chứa nội dung khách nhắn
   * **Bắt đầu với nội dung**: Chứa nội dung bắt đầu giống khách nhắn
   * **Chứa từ khóa:** Kiểm tra từng chữ khớp với các chữ trong cụm từ
   * **Bắt đầu với từ khóa:** Kiểm tra chữ hoặc cụm chữ đầu có trong từ
   * **Có Email là:** Khớp với email khách nhắn
   * **Có Email:** Nội dung có chứa email
   * **Có Email kết thúc với:** Email kết thúc với đuôi bất kì
   * **Có SĐT là:** Khớp với sđt khách nhắn
   * **Có SĐT:** Nội du~~n~~g có chứa sđt
   * **Có SĐT bắt dầu với:** SĐT bắt đầu với đầu bất kì
   * **Khớp regex:** Khớp với đoạn regex khách nhắn
3. Nhập các từ khóa mà bạn cho là khách hàng có thể hỏi
4. Cấu hình cách bot trả lời tương tứng. Bạn có thể trả lời bằng **"Text"** hoặc một **"Block"**. Bạn có thể cấu hình nhiều Block hoặc nhiều Text, nhưng bot sẽ lựa chọn **ngẫu nhiên** 1 phương án để trả lời lại khách hàng.

![](/files/-MdR-GaYhsEtYUvzojcK)

#### Các lưu ý về việc cấu hình Keyword:

* Bot sẽ **KHÔNG** phân biệt chữ hoa và chữ thường
* Bot sẽ **PHÂN BIỆT** từ khóa có dấu và không có dấu.


# \_3.2 Bot Menu

Tính năng tạo menu cho bot

![Vị trí Bot Menu](/files/-MdVFMeyrLtMm0kfcdUh)

Facebook hỗ trợ tạo menu để khách hàng có thể truy cập nhanh ở màn hình chat. Các menu này tương tự như 1 button để truy cập vào 1 block hoặc website.

<div align="center"><img src="/files/-LtQ4xoE1Q5pkwQrHAIQ" alt="Menu hiển thị trên khung chat"></div>

Cấu hình menu trên [Smax.bot](https://smax.bot/) khá đơn giản

1. Click **"Add Menu"** để thêm menu mới
2. Kích hoạt Menu
3. Cài đặt Menu: Menu dẫn tới 1 Block hoặc 1 Url
4. Ấn **"Save"** để lưu cấu hình
5. Ấn cập nhập Fb để đồng bộ với Facebook

![](/files/-MdVEqnR3u4pfkw1ahAi)

***Lưu ý:*** Hiện tại Facebook mới update và chỉ hỗ trợ tạo **3 menu** vì vậy hãy cân nhắc các menu mà bạn cần thiết nhất để đưa lên khung chat.


# \_3.3 Bot Comment

Tự động trả lời khi có khách hàng comment

![Vị trí tính năng Bot Comment](/files/-MdVI7s2aXe9gN9nA6tP)

Việc chăm sóc khách hàng khó khăn hơn khi có quá nhiều comment cùng lúc trên bài viết. Đặc biệt là vào thời điểm page đang có khuyến mãi khủng.

Với mỗi khách hàng comment, bot sẽ trả lời và inbox riêng dựa theo kịch bản bạn đã xây dựng. Thay vì một đội ngũ đông đảo trực page, bạn chỉ cần thiết lập kịch bản trả lời comment, còn lại hãy để Smax bot lo 😁

![Giao diện tính năng Bot Comment](/files/-MdVIVTM-KKUiR2VTbsE)

## 1. Kích hoạt bot comment

1\. Kích hoạt bot comment.

* Click chuột vào "Bot status" để kích hoạt bot.

![](/files/-MdVIvxJkZ6wLM5-N04H)

2\. Cài đặt thời gian delay

![](/files/-MdVJ4Go8mqYYgnVCZfK)

* Thời gian delay mặc định là 30 giây.
* Bạn có thể thay đổi thời gian delay cho phù hợp nhưng đừng để khách hàng phải đợi quá lâu nhé.

&#x20;3\. Áp dụng thời gian trả lời cho bot

* Có 2 chế độ thời gian là 24/7 và Tùy chỉnh.                                                                                           &#x20;
  * 24/7: Chế độ bot luôn luôn hoạt động.&#x20;
* Ngoài ra bạn có thể cài đặt thời gian tự động trả lời comment theo giờ làm việc của page để phục vụ khách hàng tốt nhất.                                                                                                                                  &#x20;

![Áp dụng thời gian 24/7](/files/-MdVKkEZBdxBtCCFSFM7)

![Tùy chỉnh thời gian](/files/-MdVKd4IIshlbp4bXG7X)

4\. Các chế độ reply

![](/files/-MdVNBQshJAeaU4tjlHe)

Smax hỗ trợ 3 chế độ reply tin với comment

* Comment
* Inbox
* Chuyển kịch bản inbox khi khách phản hồi lại Bot Comment

## 2. Tạo kịch bản

1\. Tạo kịch bản

![Thêm kịch bản Bot Comment mới](/files/-MdVNU3M0mInu4SgLBbI)

2\. Kích hoạt kịch bản bot comment

* Bạn có thể kích hoạt hoặc tạm dừng 1 kịch bản bot comment.

![Kích hoạt kịch bản](/files/-MdVNbO5_xd1wdkV3U9l)

3\. Tên kịch bản, bài viết

* Tên kịch bản: Bắt buộc phải có.
* All Post: Tất cả các bài viết tre
* PostID: ID bài viết cần chạy bot comment. &#x20;
  * Bạn có thể copy ID hoặc link của bài viết đó để hệ thống tự động cut ID.
  * Có thể có nhiều ID post trong 1 kịch bản.
  * Nếu bạn để trống PostID, hệ thống sẽ hiểu là kịch bản được áp dụng cho tất cả bài post trên page.
* Hashtag:&#x20;
  * Bot chỉ check comment trên bài viết có hashtag được cài đặt.
  * VD: #Smaxbot, #U23VietNam, #MinhYeuNhauDi,...
  * Lưu ý:&#x20;
    * Hashtag nên ngắn gọn, dễ hiểu.
    * Hashtag không chứa các kí tự đặc biệt (trừ dấu gạch dưới '\_').
* Có thể chỉ điền 1 trong 2 trường Post ID hoặc Hashtag.

![](/files/-MdVOr2eaqXYJnNyiLIL)

4\. Các điều kiện

&#x20;  1\. Comment cấp 1

* Rep comment của comment trước đó

![Kiểm tra comment](/files/-MdVSHYTDh2hW3mmcWfw)

&#x20;   2\. Số điện thoại &#x20;

* Bạn có thể chọn 1 trong 3 cách kiểm tra:
  * Không kiểm tra: bot sẽ trả lời tất cả comment.
  * Có SĐT: bot chỉ trả lời comment có chứa số điện thoại.
  * Không có SĐT: bot chỉ trả lời comment không chứa số điện thoại.

![Kiểm tra số điện thoại](/files/-MdVSVNM1VHZ3JRZzJGT)

&#x20;   3\. Email

* &#x20; Bạn có thể chọn 1 trong 3 cách kiểm tra:

  * Không kiểm tra: bot sẽ trả lời tất cả comment.
  * Có Email: bot chỉ trả lời comment có chứa email.
  * Không có Email: bot chỉ trả lời comment không chứa email.

![Kiểm tra email](/files/-MdVT-camIdVdEaXnOUH)

&#x20;   4\. Nội dung

* Dùng để phân loại comment của khách hàng theo nhu cầu
  * VD: Giá, chất lượng, size,...
* Hỗ trợ nhiều cách kiểm tra từ khóa tương tự như tính năng Keywords:
  * Trùng khớp
  * Bắt đầu với nội dung
  * Chứa nội dung
  * Không chứa nội dung
  * Bắt đầu với từ khóa
  * Chứa từ khóa
  * Không chứa từ khóa

![Kiểm tra nội dung](/files/-MdVUv1ZwtJ2RWUwPfK8)

&#x20;   5\. Check Tag

* Dùng nhiều trong chiến dịch viral yêu cầu khách hàng tag tên bạn bè.

![](/files/-MdZxJL459mFoDabm1ey)

&#x20;   6\. Check Comment

* Kiểm tra số comment mà bot đã trả lời

![](/files/-MdZyiBU9SKPbbTeOziz)

&#x20;   7\. Check Inbox

* Kiểm tra số inbox mà bot đã trả lời

![](/files/-MdZzP2LsSM-NK41JIYj)

&#x20;    8\. Attribute

* Lưu giá trị vào Attribute

![](/files/-Md_-9hSJjW_hQdDZFHE)

&#x20;   9\. Action

* Lựa chọn hành động cho bot

![](/files/-Md_-YMafYJRhKs92AuG)

&#x20;   10\. Reply&#x20;

* Lựa chọn hình thức trả lời cho bot, bạn có thể sử dụng mẫu câu hoặc gửi cho khách                  block, bot sẽ gửi random phương thức trả lời đó
* **Chuyển kịch bản inbox khi khách hàng phản hồi lại Bot Comment:** Sau khi bot inbox lại cho khách, nếu khách nhắn lại tin nhắn bất kì, bot sẽ phản hồi lại block bạn chọn

![](/files/-Md_-vhi1RYXtHvJqyO-)

{% hint style="danger" %}
Để tránh Facebook cho là Spam khi trả lời nhiều lần bằng một mẫu câu các bạn lưu ý:
{% endhint %}

{% hint style="danger" %}

1. Soạn ít nhất 3 mẫu câu tự động trả lời. Khi trả lời hệ thống sẽ lựa chọn ngẫu nhiên.
2. Bắt buộc bạn phải sử dụng từ khóa {{full name}} để gắn tên khách hàng.
3. Nên sử dụng kiểu {Chào|Hi|Xin chào} để hệ thống tạo ra các mẫu câu khác nhau tránh trùng lặp.
   {% endhint %}

## 3. Chỉnh sửa, xóa, clone kịch bản

* Bot sẽ ưu tiên check kịch bản theo thứ tự từ trên xuống. Và chỉ chạy 1 kịch bản cho 1 comment. Vì vậy bạn nên để kịch bản quan trọng lên đầu.
* Có thể tạm dừng 1 kịch bản.

![Các trạng thái kịch bản Bot Comment](/files/-Md_2t22P-PClXj5ULRL)


# \_3.4 Khách hàng

Khu vực quản lý các khách hàng đã inbox cho page

![Vị trí tính năng Khách hàng](/files/-Md_4GqD-kQstRgrZj5J)

Đây là khu vực quản lý danh sách tất cả những khách hàng đã tương tác với page thông qua inbox.

1. Với tính năng **"Quét khách hàng cũ"**  bạn có thể quét được toàn bộ các khách hàng đã từng inbox cho page kể từ khi lập page.
2. Khu vực quản lý các Attribute.
3. Bộ lọc cơ bản.
4. Tính năng thêm/xóa khách hàng vào **kịch bản chăm sóc (sequence)**. Subscribe hoặc Unsubscribe (đăng ký hoặc bỏ đăng ký khách hàng với bot). Tính năng Export Data (Gói trả phí) để tải dữ liệu khách hàng về.
5. Tính năng Subscribe hoặc Unsubscribe từng khách hàng.
6. Tính năng Import Data: Đẩy dữ liệu khách hàng từ file Excel lên.

![](/files/-Md_5gqlQrTNZ08j3vm4)

#### Các lưu ý khi quét khách hàng cũ

* [Smax.bot](https://smax.bot/) sẽ quét tất cả khách hàng cũ và bổ sung các thuộc tính của họ (họ tên, avatar, giới tính, thời gian lần đầu inbox cho page, lần cuối inbox cho page, nội dung inbox cuối cùng...) đây là tính năng độc quyền duy nhất chỉ có tại Smax.bot giúp cho bạn có thể phân loại khách hàng của mình.
* Để đảm bảo cho việc Facebook sẽ không khóa API (dẫn tới việc bot không hoạt động được trên page của bạn) Smax.bot sẽ quét khách hàng cũ theo cơ chế chậm, nên các bạn bình tĩnh đợi khách hàng về đầy đủ và an toàn nhé :D
* Trong thời gian chờ đợi khách hàng được quét đầy đủ vui lòng không ngắt kết nối tài khoản của bạn với Smax.bot


# \_3.5 Kịch bản chăm sóc

Sequence - Tự động gửi chuỗi nội dung cho khách hàng theo lịch.

Đây là tính năng cho phép bạn thiết lập trước một chuỗi tin nhắn và gửi lần lượt theo lịch bạn muốn cho người dùng. Nhóm người nhận sẽ được phân biệt bằng các Attribute tương ứng.

![Vị trí tính năng Sequence](/files/-MdoxULXUGYAvGG4gkNZ)

Trong phần tính năng này sẽ có nhiều nhóm kịch bản (Sequence Group) và bên trong mỗi nhóm sẽ có nhiều Sequence (kịch bản). Bạn có thể tạo và cấu hình chuỗi tin nhắn cho phù hợp với mục đích.

1. Add Sequence Group: Tạo nhóm kịch bản mới.
2. Đổi tên Sequence Group sao cho phù hợp với chiến dịch.
3. Để thêm các Sequence trong nhóm bạn bấm vào "+ Kịch Bản Mới"

![](/files/-MdoyJlQHXZoUdDmdC5W)

Sau khi các Sequence mới được tạo, bạn hãy bấm vào từng cái để bắt đầu cấu hình:&#x20;

![](/files/-Mdp01YEFSWwv_tJiM2R)

1. Cấu hình sau bao lâu sẽ gửi tin (block) tới khách hàng.
2. Ghi chú (không quá quan trọng, khách không thấy được phần này).
3. Chọn block gửi tới khách hàng.

Tiếp theo bạn sẽ cần quan tâm tới phần cấu hình thời gian của tin nhắn:

1. Số đơn vị&#x20;
2. Chọn đơn vị: Giây, phút, giờ, ngày....&#x20;
3. Chỗ này chính là thời gian bạn muốn gửi tin tới khách hàng.&#x20;
4. Kiểm tra tiến trình của Sequence và theo dõi phản hồi từ khách hàng.&#x20;

{% hint style="info" %}
VD: Nếu khách vào sequence lúc 10h sáng nếu bạn để 15 tiếng sau sẽ gửi 1 nội dung nào đó tới khách hàng thì sẽ rơi vào 1h sáng, điều này sẽ gây khó chịu cho khách hàng. Vì vậy b set là 13 to 20 (13h -20h) nếu tin nhắn gửi tới khách hàng nằm ngoài khoảng này thì hệ thông sẽ không gửi tin đi mà chờ tới khung giờ đó mới gửi tránh làm phiền khách hàng.
{% endhint %}

![](/files/-Mdp0dVlSgnF-zEMo3Ah)

Lưu ý: Để hạn chế Spam, mỗi khách hàng chỉ nên vào 1 sequence 1 lần thôi. Nếu vào lần thứ 2 thì sẽ không có tác dụng (tránh khách bị spam tin).&#x20;

Vậy để khách có thể vào tiếp lần 2 đc cùng 1 sequence thì bạn phải remove họ ra khỏi sequence đó. (bằng [tính năng remove sequence](https://tailieu.smax.bot/2.-gioi-thieu-cac-element-card/_2.7-sequence) hoặc làm thủ công)

![Xóa bằng tính năng remove sequence](/files/-Mdp21IsLmq3FytD97Tr)

![Xóa thủ công](/files/-Mdp2f3OlhW4hD6qOvTA)

Ngoài ra, tính năng Sequence cũng sẽ chịu ảnh hưởng bởi chính sách 24h ([**tại đây**](https://bot.vn/hoc-chatbot/tips-chatbot/luu-y-ve-chon-the-khi-gui-broadcast-va-sequence-38.html)) chính vì vậy, khi gửi block, bạn cần cài đặt block theo đúng chính sách:

1. Tạo block mới và chọn 24h messager tags (1)
2. Chọn loại thẻ tags mà bạn muốn gửi (2)

![](/files/-Mdp1Yvx55yUgkRCRcbM)


# \_3.6 Gửi Broadcast

Gửi tin nhắn hàng loạt cho những người đã nhắn tin với Pages

![Vị trí tính năng Broadcast](/files/-Mdp2xxHvdkRM1hUDPWB)

Broadcast là một trong những tính năng cực kỳ mạnh của Chatbot. Nó giúp bạn có thể gửi tin nhắn đến hàng loạt đối tượng được phân loại.&#x20;

Để sử dụng tính năng này, bạn vào phần **"Bản Nháp"**, sau đó chọn **"Tin Nhắn Mới"**

![Chọn Tin nhắn mới để tạo tin broadcast mới](/files/-Mdp3NFrhjDIoyjB5Dz1)

![Màn hình sau khi chọn Tin nhắn mơi·](/files/-Mdp3aOnJIeodryoTPuY)

Phần đầu tiên bạn cần quan tâm đó là **"Loại Tin Nhắn" -** đây là phần cực kỳ quan trọng bạn cần lưu ý vì từ đầu năm 2020 đến nay, Facebook liên tục update chính sách mới về việc gửi Broadcast và với sự ra đời của chính sách 24h, theo đó yêu cầu mỗi tin nhắn được gửi đi sẽ cần phải gắn thẻ phân loại.&#x20;

{% hint style="danger" %}
Để rõ hơn về [nội dung của chính sách 24h](https://tailieu.smax.bot/7.-thong-tin-khac/chinh-sach-facebook-messenger-nam-2020) cũng như cách thức gửi tin nhắn sao cho hiệu quả mà vẫn tuân thủ chinh sách bạn có thể [xem thêm *tại đây*.](https://bot.vn/hoc-chatbot/chatbot-thuc-chien-2020/quet-khach-hang-cu-va-gui-tin-nhan-theo-chinh-sach-moi-6.html)
{% endhint %}

Với phần loại tin nhắn, chúng ta sẽ có tính năng thẻ tin nhắn One-Time Notification, xem hướng dẫn thẻ ([**tại đây**](https://tailieu.smax.bot/2.-gioi-thieu-cac-element-card/_2.25-one-time-notification))**.**

Sau khi lựa chọn được "Loại Tin Nhắn" phù hợp, Smax cho phép bạn có thể hẹn lịch gửi tin nhắn hoặc gửi tin nhắn ngay sau khi cấu hình xong. Bạn chỉ việc bấm vào hình cuốn lịch để lựa chọn thời điểm gửi cho phù hợp với yêu cầu chiến dịch.

![Chọn thời gian gửi mong muốn](/files/-Mdp4ZIjvc7r004-Ft1x)

{% hint style="info" %}
Một lưu ý nhỏ ở phần **"Giới Hạn"** đó là bạn đừng nên gửi quá nhiều tin nhắn trong 1 phút để tránh bị Facebook báo spam.
{% endhint %}

Phần cuối cùng là **"Bộ Lọc"** và **"Nội Dung"**&#x20;

![](/files/-Mdp4pOeWjb6BoAv8EXe)

Bạn có thể xem lại phần bộ lọc này ở [\_2.8 Go to Block](https://tailieu.smax.bot/2.-gioi-thieu-cac-element-card/_2.6-go-to-block) hoặc [tại đây](https://tailieu.smax.bot/7.-thong-tin-khac/bo-loc-va-attribute-smaxbot) để có thể hiểu và có tư duy phân loại đối tượng gửi Broadcast phù hợp.

Lựa chọn nội dung (block) rồi bấm "Lên Lịch" để tiến hành gửi. Bạn có thể "Check" để kiểm tra Block nội dung gửi đã ổn chưa, còn vấn đề cần sửa gì không hoặc "Lưu Nháp" để có thể chỉnh sửa sử dụng sau.

![Chọn check để kiểm tra nội dung](/files/-Mdp4zblm32IVnjX-XdO)


# \_3.7 Thống Kê

Tính năng thống kê theo dõi các chỉ số hoạt động của page

Đây là màn hình thống kê lượng Subscribe tổng, hàng ngày, hàng tuần và hàng tháng của page.

Biểu đồ thể hiện 2 thông số:

* Subscribed: lượng người đã đăng ký bot
* Broadcast: theo dõi lượng broadcast các bạn gửi hằng ngày.

![](/files/-MdpAAurE6ncMTYmrdxM)


# \_3.8 Kết nối

![Vị trí tính năng kết nối](/files/-MdpAqfmGV4rgmsWRH3A)

![Các nền tảng kết nối](/files/-MdpB2Yi0lcjVWRJgtFH)

Khi kết nối với các nền tảng trên ở kịch bản hoặc ở các tính năng khác, phần kết nối sẽ tự động cập nhập hiển thị những kết nối đã tạo trước


# Tin Nhắn Trả Phí

Tin nhắn trả phí (Sponsored Messages) là một tính năng rất hay của Facebook để giúp cho các bạn có thể remarketing lại khách hàng cũ một cách dễ dàng. Khác với các hình thức gửi tin khác (broadcast, autospam) thì hình thức này hoàn toàn hợp lệ, các bạn có thể gửi tin nhắn chứa nội dung quảng cáo thoải mái (tất nhiên bạn vẫn phải đảm bảo các chính sách chung như hàng hóa cấm, các nội dung nhạy cảm, vi phạm bản quyền thương hiệu...)

Chính vì nó mất phí nên các bạn cần phải phân loại khách hàng 1 cách hiệu quả, điều này đòi hỏi các bạn cần phải target được khách hàng của mình trong thời gian tương tác và chăm sóc trước đó (VD bạn này thích gì, thường quan tâm loại sản phẩm nào...) Nếu bạn đủ kỹ năng, bạn hoàn toàn có thể xây dựng 1 kịch bản chatbot phân loại được

Tin nhắn này rất hay là sẽ vào thằng inbox của khách hàng thay vì hiển thị trên tường hoặc ở danh sách tin nhắn tất nhiên nó chỉ áp dụng cho các khách hàng đã tương tác với page của bạn qua tin nhắn.

![Một mẫu tin nhắn quảng cáo](/files/-Mg9FT9PEOa58-VdnQvr)

Để bắt đầu chạy quảng cáo tin nhắn các bạn truy cập vào menu Sponsored Messages (1) và chọn Add New (2) để thêm mới một chiến dịch.

![Giao diện trang quản lý chiến dịch quảng cáo Sponsored Messages](/files/-Mg9EnRtdcYTD4GApW6E)

Sau đó các bạn điền đầy đủ nội dung tin quảng cáo vào bên cột trái (hệ thống sẽ hiển thị preview bên cột phải)&#x20;

Lưu ý nội dung tin nhắn ở mục này sẽ không hỗ trợ Attribute, sau khi khách hàng click và chạy tới các kịch bản tiếp theo thì Facebook mới hỗ trợ.

![](/files/-MgAKq0K18G7-J-AuG8t)

Tiếp theo các bạn điền đầy đủ các thông số như bên dưới

1. Lựa chọn tài khoảng quảng cáo mà bạn muốn liên kết (nếu không tìm thấy bạn có thể copy ID tài khoản nhập vào, lưu ý Facebook dùng để kết nối SmaxBot phải có quyền trên tài khoản quảng cáo đó).
2. Lựa chọn tệp khách hàng, ở đây các bạn nên lựa chọn tệp khách hàng SmaxBot để có thể target được các thuộc tính người dùng lưu trên bot (VD đã tham gia chiến dịch A chưa, đã mua hàng chưa, đã để lại SĐT chưa).
3. Lựa chọn ngân sách hàng ngày của bàn và khoảng thời gian chạy chiến dịch.
4. Lọc các nhóm khách hàng mà bạn mong muốn targer dựa trên bộ lọc của SmaxBot (trong hình mình đang sử dụng bộ lọc cho những khách hàng chưa để lại SĐT)
5. Bạn click Public để bắt đầu chiến dịch.

![Màn hình cấu hình ](/files/-MgALrv4SDAJ469Ic1vW)

Tiếp theo bạn sẽ theo dõi trạng thá và thông số của các chiến dịch (lưu ý các chiến dịch này cũng sẽ được đồng bộ lên tài khoản quảng cáo mà bạn đã liên kết) Các chi phí cũng sẽ thanh toán cho Facebook qua tài khoản quảng cáo đó.

![Giao diện quản lý các chiến dịch](/files/-MgAN2wlmZo_NiWBKftr)


# \_3.9 Công cụ

![Vị trí công cụ](/files/-MdpCNFOZGHlu_qao-BL)


# \_\_3.9.1 Json Ads

Tạo quảng cáo

![Vị trí tính năng Json Ads](/files/-MdpCXDeWNsYW-BeHlNF)

Tính năng này bạn có thể xem hướng dẫn ([**tại đây**](https://bot.vn/hoc-chatbot/tips-chatbot/huong-dan-su-dung-tinh-nang-json-ads-49.html))


# \_\_3.9.2 Clone Code

Quản lý lịch sử Clone Code.

![Vị trí tính năng Clone Code](/files/-MdpDqyJfIaQyuncPc7x)

Tính năng cho phép bạn quản lý lịch sử Clone - sao chép group, block trong chatbot

![Chọn clone code ở block](/files/-MdpCsYW6lJSej0ZgWqF)

![Clone code 1 block](/files/-MdpCmTILfx3qcT74rXA)

![Chọn clone code ở group](/files/-MdpD0C_hKQSHaZQYhiD)

![Clone code 1 group](/files/-MdpDFK0LEZ9GiWLb7xq)

Tất cả lịch sử sao chép code được lưu tại tại đây để quản lý. Bạn có thể sử dụng lại về sau này:

![Giao diện quản lý clone code](/files/-MdpDNrUhQ-nU-kqbfoI)


# \_\_3.9.3 Messenger Plugin

Tạo mã code để nhúng livechat lên website

![Vị trí tính năng Messenger Plugin](/files/-MdpDcA7HGIK0A8qAE5Y)

### Tổng quan

![Facebook Messenger Livechat được nhúng lên Website](/files/-MLql9jemZ4RZHLgPCRp)

Đây là tính năng cho phép bạn tùy chỉnh một đoạn mã HTML dùng để nhúng lên website, từ đó hiển thị cửa sổ chat với fanpage của thương hiệu đó. Điểm đặc biệt ở tính năng này là nó cho phép kết nối trực tiếp với Block của Smax.bot.

Nhờ nó mà bạn có thể tự động kết nối và trò chuyện hoặc tư vấn với khách hàng ngay trên giao diện website mà không phải chờ nhân viên tư vấn, hội thoại được đồng bộ lên chính fanpage của bạn.

Có 4 dạng hiển thị trên Website và sử dụng cho những trường hợp khác nhau theo mục đích của bạn, mỗi dạng hiển thị đều có ảnh demo bên phải để bạn hình dung được Plugin sẽ được hiển thị như thế nào:

![](/files/-MLqoF1wQcDBf05lHbdx)

Bạn có thể xem thêm cách cấu hình và nhúng Messenger Plugin [lên website (**tại đây**](https://bot.vn/hoc-chatbot/tips-chatbot/))


# \_3.10 Cấu hình

Cấu hình chung cho page và bot

![Vị trí cấu hình bot](/files/-MdpEvf2Wga5BCL9bmlq)

#### 1.Connect Page

#### 2. Team

#### 3. TimeZone

#### 4. Broadcasting API Token

#### 5. Domain Whitelisting

#### 6. Messenger Extensions URLs


# \_\_3.10.1 Connect Page

Kết nối Smax bot với page của bạn

Để bot có thể chạy được bạn cần phải kết nối bot với 1 fanpage.

* Tại một thời điểm, mỗi bot chỉ kết nối được 1 page và 1  page chỉ kết nối được 1 bot.
* Bạn có thể kết nối bot với một page khác bằng cách UnConnect trong cấu hình rồi kết nối bot đó với page mong muốn.

Lưu ý: khi chưa thuần thục về chatbot, chỉ nên kết nối page của bạn với 1 nền tảng bot duy nhất để tránh gửi nhiều kịch bản cùng lúc gây xung đột vào tạo khó chịu cho khách hàng.&#x20;

## 1. Kết nối với page:&#x20;

Xem lại \_1.2 Kết nối bot với Fanpage.

{% content-ref url="/pages/-Ln2ylchLGOAxw9KTmh2" %}
[\_1.2 Kết nối bot với Fanpage](/bat-dau-voi-smax.bot/_1.2-ket-noi-bot-voi-fanpage)
{% endcontent-ref %}

Khi bạn chưa kết nối với bất kì page nào, giao diện hiển thị danh sách tất cả page của bạn

.

![Giao diện connect Page](/files/-MdpFWjECLilSm1dYLjX)

Chọn Reaload nếu page của bạn chưa hiện, chọn cấp lại quyền để kết nối thêm page

![](/files/-MdpFbNughnnDJiy3PfD)

## 2. Tạm dừng bot

Chọn tắt reply để tạm dừng bot.&#x20;

![](/files/-MdpFv6KjYrRhvzEzVDK)

Lưu ý:&#x20;

* Chức năng này chỉ dùng khi có người trực page muốn nhắn tin với khách hàng và không muốn các tính năng của bot hoạt động trên page trong thời gian đó. Bật lại reply khi muốn bot hoạt động trở lại.
* Trong trường hợp muốn tắt bot trên 1 user nào đó:                                                                                Khách Hàng → Chọn User muốn ngừng reply → Chọn Unsubscribe                                                                                         &#x20;

![](/files/-MdpGHKzqUYLrhGYzlNy)


# \_\_3.10.2 Team

Cấp quyền chỉnh sửa bot cho team của bạn

Bạn có thể cấp quyền chỉnh sửa bot cho người khác với tính năng  Team.

![](/files/-Mdyz-tjM3E1Ea--YIqB)

## 1. Cấp quyền chỉnh sửa bot

1. Bước 1: Chọn Invite để mời.                                                   &#x20;

![Chọn invite để lấy link](/files/-MdyzDM8XCgnVhkRKS4O)

&#x20;  2\. Bước 2: Chọn quyền chỉnh sửa

&#x20;   Có 2 quyền chỉnh sửa với người được mời:

* Admin: Có quyền chỉnh sửa, xóa thành viên khỏi team.
* Mod: chỉ có quyền chỉnh sửa kịch bản, khách hàng, sequence,... chỉ trừ phần cấu hình.&#x20;

&#x20;

![](/files/-MdyzNaOSeJ5Q7lEEbi7)

&#x20;    Bước 3: Gửi link cho team của bạn.

&#x20;     Chọn "Copy" để sao chép link bot, sau đó gửi cho team.

![](/files/-MdyzW4Ow4pLmZeuhUR8)

Lưu ý:&#x20;

* Mỗi một link share quyền bot chỉ có thể có 1 người vào được. Người nào vừa vào thì link share đó sẽ không còn tác dụng nữa. Muốn share tiếp phải tạo ra link mới.
* Khi chưa có người vào link, Smax sẽ để chế độ chờ.                     &#x20;

&#x20;  &#x20;

![](/files/-MdyzfWGWb9xELE5sldZ)

## 2. Xóa quyền của 1 thành viên

Chức năng này chỉ có thể thực hiện khi bạn là admin.

&#x20;    Bước 1: Chọn Delete (Thùng rác) để xóa quyền của 1 thành viên ra khỏi bot.

![](/files/-Mdyzm-l1XbmHf5Lrmpk)

&#x20;    Bước 2: Chọn "Confirm" để xác nhận xóa, hủy để dừng hành động.

![](/files/-MdyztpTbUcMYX8blnDZ)


# \_\_3.10.3 Time Zone

Chọn múi giờ cho bot.

![Giao diện Time Zone.](/files/-Ltnu9kcy6r0PLMp-4Lt)

* Múi giờ mặc định của Smax bot là (GMT +07:00) BangKok, Hanoi, Jakarta.
* Bạn có thể chọn lại múi giờ để phù hợp với page muốn tích hợp bot.

![Các múi giờ được tích hợp trong Time Zone](/files/-LtntLTWOxg0n5CVrh6p)


# \_\_3.10.4 Broadcasting API Token

API Token của bot

![Token ở dạng ẩn, nhấn icon mắt để hiển thị](/files/-Mdz-JA5bvYFZtVagSUt)

**Chức Năng**: Token của bot giống một chiếc chìa khóa để bạn có thể mở cánh cửa vào trong để gửi thông tin đến bot. Token được dùng kết hợp với Bot ID để thực hiện các lệnh gọi API từ bên thứ ba (VD: Botplus, BotUp...).

Tuy nhiên mã API có thể thay đổi nếu có nghi ngờ phần mềm đang tiếp cận được bot của bạn. Khi đó chọn "Reset" để tạo một mã API mới.&#x20;

![Nhấn reset để đổi Token](/files/-Mdz-REjfuFhPfzCPBFq)


# \_\_3.10.5 Domain Whitelisting

Domain (tên miền)

Domain Witelising là một danh sách chứa các domain được cập nhật lên Facebook có chức năng bật được domain đó dưới dạng popup.

Khi muốn mở trang web dưới dạng popup của messenger, bạn phải add tên miền vào. Xem lại \_2.1.2.2 phần Text-Button-URL

{% content-ref url="/pages/-Ln335GRZW7qAPEqOvuy" %}
[\_2.1 Text](/2.-gioi-thieu-cac-element-card/_2.1-text)
{% endcontent-ref %}

## 1. Add Domain

&#x20;    Bước 1: Chọn "Add Domain" để thêm một domain mới vào Domain Whitelisting

![](/files/-Mdz-kNCTokFs6DpXulV)

&#x20;    Bước 2: Copy Domain cần add

![Copy Domain](/files/-Lu5n4RFp-F6ADunR8rk)

&#x20;    Bước 3: Paste vào ô Domain còn trống

![](/files/-Mdz-u_f-jNSTu_oK0Dv)

## 2. Yêu cầu:

Để đặt hoặc cập nhật danh sách miền được cho phép, bạn phải có vai trò 'Quản trị viên' cho Trang được liên kết với bot.

{% hint style="info" %}
**Yêu cầu tên miền và HTTPS**\
Miền phải đáp ứng các yêu cầu sau đây để đưa vào danh sách cho phép:

* Phân phối qua HTTPS
* Sử dụng tên miền đủ tiêu chuẩn, chẳng hạn như <https://www.messenger.com/>. Địa chỉ IP và localhost không được hỗ trợ để đưa vào danh sách cho phép.
  {% endhint %}

### 3. Danh sách cho phép trong cài đặt Trang <a href="#page_settings" id="page_settings"></a>

Quản trị viên Trang cũng có thể cập nhật danh sách miền hợp lệ của họ trong cài đặt Trang bằng cách thực hiện thao tác sau:

1. &#x20;Nhấp vào **Cài đặt** Trang
2. &#x20;Nhấp vào **Nhắn tin nâng cao**
3. &#x20;Chỉnh sửa miền được đưa vào danh sách hợp lệ của trang trong phần **Miền được đưa vào danh sách hợp lệ**

Một số Domain không được hỗ trợ trên trang:

* <https://www.google.com>
* <https://www.facebook.com>

Để xóa Domain, chọn "Delete".

![Xóa tại Smax](/files/-Mdz0LvHXXgl5EDH8XkZ)

![Hoặc xóa tại facebook](/files/-Mdz0Vl4GkSeTikvlEYH)


# \_4.1 Cách sử dụng Hàm

Sử dụng hàm bằng cách mở dấu "\["

Smax.bot là ứng dụng chatbot duy nhất ở Việt Nam đưa vào tính năng "HÀM" trong việc tùy biến và hiển thị dữ liệu. Nếu các bạn đã từng sử dụng các HÀM trong Excel (if, sum...) thì cách hoạt động ở Smax.bot cũng tương tự như vậy.

#### 1- Hàm UPPER - LOWER - PROPER

Trong excel người ta sử dụng 3 hàm này cho mục đích chuyển chữ thường thành hoa (UPPER), hoa thành thường (LOWER), và viết hoa chữ cái đầu câu (PROPER)

Ở Smax cũng tương tự và bạn có thể gọi hàm như sau:

| GỌI HÀM Ở SMAX       | HIỂN THỊ |
| -------------------- | -------- |
| \[=UPPER(xin chào)]  | XIN CHÀO |
| \[=LOWER(CẢM ƠN)]    | cảm ơn   |
| \[=PROPER(xin chào)] | Xin Chào |

#### ***2- Hàm GENDER (dùng để hiển thị cách xưng hô)***

![](/files/-MLqr7F7vOnQrk-NpAvE)

Thông thường các nền tảng chatbot khác sẽ sử dụng attribute {{gioitinh}} để hiển thị xưng hô "anh" "chị" "bạn" tuy nhiên có 1 điểm yếu là bạn muốn đổi thành "Anh" "ANH" hoặc là xưng hô theo 1 cách khác như "Ba" "Mẹ" (đối với các page dành cho bé), "Cậu" "Tớ" page dành cho oto ^^

***3- Hàm SEPRATOR***

Định dạng dấu phẩy cho số

**4 - Hàm TIMENOW**

![](/files/-MLqtTR-TVPw6U_QEjFc)

Hiển thị thời gian hiện tại theo định dạng, sử dụng khi muốn thông báo cho người dùng về thời điểm.

* timezone: Múi giờ, bạn chọn múi giờ của HCM là +7. Nhập số 7 vào chỗ này là được
* YYYY-MM-DD và HH-mm-ss: Định dạng ngày giờ hiển thị cho người dùng (Y là năm, M là tháng, D là ngày, H là giờ, m là phút, s là giây). Số lượng ký tự tương ứng với các số hiển thị&#x20;

{% hint style="info" %}
VD: YYYY-MM-DD và HH-mm-ss là 2020-11-11 và 17-45-56
{% endhint %}

Ngoài ra còn các hàm khác như Format Time, Mod và Random. Bạn có thể [xem thêm cách sử dụng **tại đây**](https://bot.vn/hoc-chatbot/tips-chatbot/cach-su-dung-ham-thoi-gian-trong-smaxbot-33.html)**.**


# \_4.2 Kết nối với Botplus

Kết nối Smax.bot với Add-on Botplus

Botplus là nền tảng plugin (add-on) cực kỳ mạnh mẽ cho chatbot messenger được phát triển dành riêng cho người dùng Smax. Hiện tại đang có 2 phiên bản Botplus:

1. [Botplus.vn](https://botplus.vn/) - phiên bản add-on cực kỳ mạnh mẽ dành riêng cho thị trường Việt Nam. Đang hoạt động ổn định và đầy đủ tính năng.

   &#x20;  1.1 - Tài liệu và video hướng dẫn: [**https://bot.vn/hoc-chatbot/chatbot-voi-botplus/**](https://bot.vn/hoc-chatbot/chatbot-voi-botplus/)
2. Botplus.io - là add-on phiên bản dành cho quốc tế với nhiều cập nhật hơn và template được thiết kế riêng, phiên bản này nhiều plugin, tính năng và custom tốt hơn so với phiên bản trước

   &#x20; 2.1 - Tài liệu và video hướng dẫn: [**tailieu.smax.bot**](https://tailieu.smax.bot)**,** [**https://bot.vn/hoc-chatbot/chatbot-voi-botplus-io/**](https://bot.vn/hoc-chatbot/chatbot-voi-botplus-io/)

![Giao diện của botplus.vn by Smax](/files/-MLuPsn3izgcPX9TvyqX)

Để xem thêm hướng dẫn về botplus.vn bạn có thể [**xem thêm tại đây**](https://botplus.vn/document/docs)**.**

### Kết Nối Smax Bot với Botplus.

Trong mỗi một plugin trên botplus đều có 3 phần quan trọng:

![](/files/-MLuTceBQ_prv6Z3ALWn)

![](/files/-MLuTiM_k0BVhAOVvXre)

Mỗi chatbot trên Smax đều có một ID và Token riêng, việc của bạn là cũng cấp cho Botplus những thông số này để add-on có thể kết nối và trả kết quả cũng như nhận giá trị truyền lên từ Smax.bot.&#x20;

Bạn có thể lấy ID và Token trên Smax bằng cách click lần lượt vào 2 biểu tượng này trên Smaxbot

![Click copy Bot ID và Copy Bot Token](/files/-Me8dYJN9bfh_43fMwBg)

Ngoài ra, với một số plugin như Lucky Spiner, Basic Form,... bạn cần điền thêm cả Go to Block. Hiểu đơn giản sau khi botplus chạy xong (khách đã quay vòng quay xong hoặc điền form), botplus sẽ trả kết quả về chatbot rồi thông qua đó gửi tin nhắn trả kết quả hoặc tiếp tục kịch bản.

![Go to Block trên Botplus](/files/-MLuTpudq2KIZJ9Ies8a)

Để tránh xảy ra lỗi không thấy bot phản hồi khi sử dụng tính năng này, bạn chú ý copy tên của block trên Smax.bot mà bạn muốn botplus trả về sau khi chạy xong. Điều này loại bỏ hoàn toàn vấn đề nhầm chữ khi điền Block Name trên botplus:

![](/files/-MLuZfiIsh2fO3oKN5c1)

Ngoài ra đối với nền tảng botplus.io, block trả về kết quả (Go to Block) là Id của block đó: Click vào block bạn muốn -> Copy đoạn id cuối cùng hiển thị trên url của thanh công cụ web

![Copy ID cuối Url](/files/-Me8dv6HbZiaQRiNgLAH)

**Lưu ý:** Botplus nhiều plugin hay, hỗ trợ rất tốt cho fanpage để tăng tương tác khách hàng, chính vì vậy công đoạn kết nối bạn cần xem Video hướng dẫn để sử dụng tốt nhất.


# \_4.3 Tải Khách Hàng

Tải về tệp khách hàng đã tương tác với page được Smax ghi nhận

![Vị trí tính năng Export Data](/files/-MdpGpLJM1FloDc5Gzsx)

Tính năng này sẽ chỉ áp dụng cho gói cước trả phí, vì vậy nếu bạn chưa đăng ký gói trả phí thì bạn có thể sử dụng tính năng [**Attr to Sheet**](https://tailieu.smax.bot/2.-gioi-thieu-cac-element-card/_2.11-attr-to-sheet) để đẩy dữ liệu khách hàng lên Sheet rồi tải về.

Ngoài ra bạn cũng có thể Import dữ liệu lên Bot.

![Vị trí tính năng Import Data](/files/-MdpHRE6FFd6-83jdc2A)


# \_4.4 Set Attribute hàng loạt

Tính năng sẽ phát triển


# \_4.5 Sử dụng công thức cho Attribute

Loading... 73%

(Tính Năng Đang Được Phát Triển)

Sẽ được Public trong thời gian sớm nhất


# 4.6 Cách sử dụng bộ lọc

Điều Kiện (Bộ lọc)

### 1. Thêm điều kiện Attribute:&#x20;

* Thêm điều kiện bằng cách click thêm bộ lọc trong element Go to block.
* Thêm nhiều kiều kiên bằng cách click Add new.
* Các điều kiện được khớp từ trên xuống dưới theo 2 luồng là or (hoặc) hoặc and (và).

![VD điều kiện của element Go to block](/files/-LtIOaFvFC1iH4VtG6zf)

* Các phương thức so sánh điều kiện trong Attribute.&#x20;
  * \= : So sánh ngang bằng.
  * != : So sánh không bằng.
  * \> : So sánh lớn hơn.
  * < : So sánh nhỏ hơn.
  * \>= : So sánh lớn hơn bằng.
  * <= : So sánh nhỏ hơn bằng.
  * start : Kiểm tra giá trị của attribute có bắt đầu với điều kiện không.
  * end : Kiểm tra giá trị của attribute có kết thúc với điều kiện không.
  * have : Kiểm tra giá trị của attribute có chứa điều kiện không.
  * have not : Kiểm tra giá trị của attribute có không chứa điều kiện không.
  * any : Kiểm tra attribute có giá trị không.
  * null : Kiểm tra attribute có đang null (không có giá trị gì) không.

![Các phương thức so sánh của attribute.](/files/-LtIZBcQUjjnMjkO2fRz)

{% hint style="info" %}
VD: Attribute {{HoTen}} có giá trị là Nguyễn Văn A.

* Attribute {{HoTen}} start Nguyễn → Điều kiện đúng.
* Attribute {{HoTen}} end B → Điều kiện sai.
* Attribute {{HoTen}} have Nguyễn → Điều kiện đúng.
* Attribute {{HoTen}} have not Văn → Điều kiện sai.
* Attribute {{HoTen}} have not Đào → Điều kiện đúng.
* Attribute {{HoTen}} any → Điều kiện đúng.
* Attribute {{HoTen}} null → Điều kiện sai.
  {% endhint %}

### 2. Điều kiện Sequence:&#x20;

* Kiểm tra xem người dùng đã (Đang trong; Đang không trong; Đã từng; Chưa từng) sequence đó chưa.
* Kiểm tra xem người dùng đã (Đang trong; Chưa vào; Đã vào; Đã ra) sequence đó chưa.

  &#x20;

  * is: Đang trong sequence.
  * is\_not: Đang không trong sequence.
  * was: Đã từng vào sequence.
  * was not: Chưa từng vào sequence.

![](/files/-LtIVpKTxdl5EhLTKaoB)

### 3. Phép so sánh **AND** và **OR** giữa các điều kiện.

* Chỉ được chọn 1 phương thức là and hoặc or trong bộ lọc.
* Điều kiện được kiểm tra từ trên xuống dưới theo phép so sánh đã set trong bộ lọc.&#x20;

| Phép So Sánh | Kết Quả                                                                                                  |
| ------------ | -------------------------------------------------------------------------------------------------------- |
| AND          | <p>Trả về ĐÚNG nếu tất cả các điều kiện là Đúng.</p><p>Trả về SAI nếu một trong các điều kiện là Sai</p> |
| OR           | <p>Trả về ĐÚNG nếu một trong các điều kiện là Đúng.</p><p>Trả về SAI nếu tất cả điều kiện là Sai</p>     |

{% hint style="info" %}
VD: Attribute {{Tuoi}} có giá trị là 20; Attribute {{HoTen}} có giá trị 'Nguyễn Văn A'

{{Tuoi}} > 20     or    {{HoTen}} start Nguyễn  → Đúng

{{Tuoi}} = 20     and    {{HoTen}} start Nguyễn  → Đúng

{{Tuoi}} > 20     and    {{HoTen}} start Nguyễn  → Sai
{% endhint %}

### 4. Thêm điều kiện theo Subcriber

Đây là một trong những điều kiện mới được Smax cập nhật trong tháng 10/2020. Hiểu đơn giản Subcriber là những người được bot ghi nhận đã tương tác với page (ấn nút Bắt Đầu hoặc Get Started).&#x20;

![](/files/-MLuoPgaWtAdYpOVCcsI)

* Điều kiện **No**: Người dùng chưa là Subscriber của page.
* Điều kiện **Yes:** Người dùng đã là Subcriber của page.
* Điều kiện **In 24H**: Người dùng là Subcriber của page trong vòng 24h (liên quan đến [chính sách 24h của Messenger](https://tailieu.smax.bot/7.-thong-tin-khac/chinh-sach-facebook-messenger-nam-2020))&#x20;
* Điều kiện **Over 24H:** Người dùng là Subcriber của page ngoài 24h.

### **5. Thêm điều kiện theo Attribute Vs Attribute**

Nằm trong đợt update bộ lọc vừa qua, đây là một điều kiện lọc cực kỳ thú vị. Hiểu đơn giản là tệp này nằm trong tệp kia, với điều kiện lọc mới này độ chính xác khi gửi tin hoặc setup kịch bản của bạn sẽ cực kỳ chi tiết.

{% hint style="info" %}
Ví Dụ: Bạn muốn gửi tin nhắn đến những người đã tương tác gần nhất và có quan tâm đến sản phẩm hoặc dịch vụ/sự kiện. Sau khi gắn thẻ các cho các điều kiện bạn có thể dùng bộ lọc này để set gửi đi.
{% endhint %}

![](/files/-MLvPbAt-ObZtKnPouj-)

Bạn đừng quên lựa chọn dấu để kết nối các điều kiện với nhau nhé.

![](/files/-MLvWp-SKuAmMJibb9fw)

### **6. Thêm điều kiện theo SmaxChatTag**

Ngoài chatbot thì Smax còn phát triển thêm 1 nền tảng nữa nhằm quản lý, phân loại comment và inbox. [Smax.chat](https://smax.chat/) còn cho phép bạn kết nối với Smaxbot, **Push Sale, Sapo, KiotViet** (các nền tảng quản lý bán hàng, kho vận dành cho các shop).

&#x20;Với thẻ điều kiện này, Smax bot sẽ dựa trên các tag bạn lựa chọn trên Smax Chat để lọc các đối tượng lưu trong dữ liệu để gửi đến các đối tượng mà bạn muốn.

![](/files/-MLvQn3B2tNb73JTuoZZ)

{% hint style="info" %}
Is - Lọc các đối tượng có chứa tag

Is\_not - Lọc các đối tượng có chứa tag.
{% endhint %}


# 5.1 Đăng ký gói cước

Để đăng ký gói cước mới trên Smax, bạn bấm vào nút ["Gói Cước"](https://smax.bot/packages) trên giao diện quản lý bot:

![Chọn gói cước](/files/-MdpHnqZ4Je0e--mTnNW)

Tiếp theo, trong phần **"Gói Cước Đã Kích Hoạt"** bạn bấm vào nút **"Đắng Ký Mới":**

![](/files/-MLvYuHbyBRGtzppmErK)

Bảng **"Đăng Ký Gói Cước"** hiện ra, trong phần này bạn cần điền các thông số và hệ thống sẽ tự tính tiền cho bạn:

* Số lượng Chatbot bạn muốn mua tương ứng với số lượng Page bạn muốn triển khai.
* Số Sub/ 1 Page là giới hạn Sub mà bot sẽ lưu trữ trên 1 page (càng nhiều càng rẻ)
* Tiếp theo là lựa chọn thời gian sử dụng gói cước (tối thiểu 3 tháng)
* Cuối cùng là nhập số điện thoại của bạn để nhân viên hỗ trợ có thể liên hệ
* Sau khi nhập đủ dữ liệu bạn hãy Submit để gửi yêu cầu.

![](/files/-MLvZtE9ThCGgpaS0gHd)

Sau khi nhân viên hỗ trợ liên hệ hỗ trợ thanh toán, bạn sẽ được kích hoạt gói cước.


# 5.2 Nâng cấp gói cước

![Nhấn gói cước](/files/-MdpHwxS-bhcXfFR2xo9)

Giống với **"Đăng Ký Gói Cước"**, bạn chỉ cần bấm thêm vào nút Nâng cấp, sau đó chọn page bạn muốn nâng cấp và điều chỉnh tăng giới hạn Sub/page hoặc thời gian.

Sau khi Submit, nhân viên hỗ trợ sẽ liên hệ xác nhận và kích hoạt gói cước cho bạn.

![](/files/-MLvbYhM2V0ylAu9oJgz)


# 5.3 Đổi page sang gói cước mới

Bạn chỉ cần add page của bạn vào gói cước khác là được.

![](/files/-MdpOzYlQKzbnMpcMcmP)


# Broadcasting API

## Broadcasting API - V1

The Broadcasting API enables you to send any block from the bot’s structure or set user attributes via an API call.

All queries to the Broadcasting API must be served via **POST**, with the content type **application/json** and need to be presented in this form:

```
https://api.smax.bot/bots/<BOT_ID>/users/<USER_ID>/send?bot_token=<TOKEN>&block_name=<BLOCK_NAME>&<USER_ATTRIBUTE_1>=<VALUE_1>&<USER_ATTRIBUTE_2>=<VALUE_2>&messaging_tag="CONFIRMED_EVENT_UPDATE"
```

* **\<TOKEN>** — A unique secret token obtained for each bot. You are able to find and reset the token in Configure tab of the dashboard at any time.
* **\<USER\_ID>** — {{messenger user id}} attribute that you should get from a JSON plugin call prior to sending a message. {{messenger user id}} and {{fb\_id}} are accepted as well.
* **\<BOT\_ID>** — ID of the bot you want to send the message from.
* **\<BLOCK\_NAME>** \[optional] — URL-encoded name of the block you want to send to a user. You can also use **\<BLOCK\_ID>** — ID of the block you want to send to a user, instead.
* **\<USER\_ATTRIBUTE>=\<VALUE>** \[optional] — Name and value of a user attribute you want to set up before rendering the block.
* **`messaging_tag`** — You can use 1 of the following tags: "CONFIRMED\_EVENT\_UPDATE"
  * " **CONFIRMED\_EVENT\_UPDATE**"
  * &#x20;"**POST\_PURCHASE\_UPDATE"**
  * &#x20;"**ACCOUNT\_UPDATE"**

![](/files/-MLLEDfm26bihVm0XswC)

The response contains a JSON object, which always has a Boolean field success and may have an optional String field result with a human-readable description of the result. If success equals true, the request was successful. In the case of an unsuccessful request, success equals false and the error is explained in the result field.\
\
**Note:**

* You can send up to 25 RPS per bot to the Broadcasting API.
* All parameters starting with chatfuel\_ are reserved and should not be used.

## Broadcasting API - V2

```
Post API: https://api.smax.bot/public/bots/<botID>/send

Headers: 
	{"Authorization":"Bearer <Bot Token>"}
	
Body: 
	{
		"customer_id":"<Customer Id>", // Id khach hang
		"customer_email":"<Customer Email>", // Email khach hang
		"customer_phone":"<Customer Phone>", // Phone của khach hang
		"customer_fbid":"<Customer fbId>", // Id FV khach hang
		"block_id":"<BLock ID>", // nếu muốn gửi 1 block
		"messages":[  // nếu muốn gửi trực tiếp nội dung
			{"text":"Noi dung tin nhan"}
		],
		"notification_messages_token": "token NTN",
		"one_time_notif_token": "token OTN",
		"messaging_tag": "CONFIRMED_EVENT_UPDATE", // CONFIRMED_EVENT_UPDATE/POST_PURCHASE_UPDATE/ACCOUNT_UPDATE/HUMAN_AGENT
		"priority": ["fbid","phone","email"]
	}
	
Note: 
- customer_id/email/phone/fbid: Bắt buộc phải có 1 trường, nếu có thêm thì hệ thống sẽ tự cập nhật

```


# JSON API

## JSON API

See [**here**](https://tailieu.smax.bot/2.-gioi-thieu-cac-element-card/_2.10-jsonapi)

The JSON API plugin enables you to integrate your backend into your chat bots on **Smax bot**.

It allows you to

* Generate dynamic content
* Get and set user attributes
* Redirect users to another block in the bot
* Create postbacks

You can use GET and POST requests - the max. timeout is always 10 seconds. There are four options to enter data that will be sent with your request:

1\. URL — This field supports user attributes, they will be URL-encoded with your request

![](/files/-LybcA_aLWSf_TSHmZhl)

2\. Full JSON profile (POST requests only) — This will send all the user attributes of the user to your backend

![](/files/-LybcihRKTg3Zbd1RWp0)

3\. JSON Body (POST requests only) — This is a customizable field and will be validated as JSON.[![](https://chatfuel.intercom-attachments-7.com/i/o/134722067/2a574e7d0099d8b664f4e3fe/PM19ZEIe1JcF2EvLRloHceSsUx_jD0GB9HUtA5RnxhfbHP0mCF8_Lv8VeE7sh9aQ63T9ZNFlzXPWL5UrjFwxI1YhT4jh1KQkhO_Nc3qV5FGlDXRYX5OaiRo9dm9mWHhPuJN7QwMh)](https://chatfuel.intercom-attachments-7.com/i/o/134722067/2a574e7d0099d8b664f4e3fe/PM19ZEIe1JcF2EvLRloHceSsUx_jD0GB9HUtA5RnxhfbHP0mCF8_Lv8VeE7sh9aQ63T9ZNFlzXPWL5UrjFwxI1YhT4jh1KQkhO_Nc3qV5FGlDXRYX5OaiRo9dm9mWHhPuJN7QwMh)

4\. URL Encoded (POST requests only) — The data will be encoded before sending your request.[![](https://chatfuel.intercom-attachments-7.com/i/o/134722070/2c67adf598e36f85233037a3/rx7L76uuB3w20AdmaOcM8I_5v36VEGaCpAGdlqsN8vPdhvZxq7IPY70AlxJAvv8xeE6XVH0Ny-_-bedeHZTsDzTASj6TiHH_s15MUt60SHMXOH_9fG2f-hw8OsxiOCLwzQALqHgC)](https://chatfuel.intercom-attachments-7.com/i/o/134722070/2c67adf598e36f85233037a3/rx7L76uuB3w20AdmaOcM8I_5v36VEGaCpAGdlqsN8vPdhvZxq7IPY70AlxJAvv8xeE6XVH0Ny-_-bedeHZTsDzTASj6TiHH_s15MUt60SHMXOH_9fG2f-hw8OsxiOCLwzQALqHgC)

In your responses, you can

* combine several messages in one answer by sending several dictionaries in the messages array.&#x20;
* use any content type header.
* send an empty response to not show the user any dynamic content.

### Response Reference <a href="#response-reference" id="response-reference"></a>

**Sending text**

Use this response to send text messages.

```
{
 "messages": [
   {"text": "Welcome to the Smax Rockets!"},
   {"text": "What are you up to?"}
 ]
}
```

**Sending images**

Use this response to send image files. Messenger supports JPG, PNG and GIF images. If you are having issues with GIF rendering, please try to reduce the file size.

```
{
  "messages": [
    {
      "attachment": {
        "type": "image",
        "payload": {
          "url": "https://rockets.chatfuel.com/assets/welcome.png"
        }
      }
    }
  ]
}
```

You can also directly use Facebook Posts with media instead of uploading it manually:

```
{
  "messages": [
    {
      "attachment": {
        "type": "template",
        "payload": {
          "template_type": "media",
          "elements": [
            {
              "media_type": "image",
              "url": "https://www.facebook.com/chatfuelrockets/photos/1087668107975064",
              "buttons": [
                {
                  "title": "Go to Chatfuel!",
                  "type": "web_url",
                  "url": "https://chatfuel.com/"
                }
              ]
            }
          ]
        }
      },
      "quick_replies": [
        {
          "title": "That's cool!",
          "payload": "string"
        }
      ]
    }
  ]
}
```

**Sending video**

Use this response to send video files. Messenger supports MP4 videos, which are up to 25MB in size.&#x20;

```
{
  "messages": [
    {
      "attachment": {
        "type": "video",
        "payload": {
          "url": "https://rockets.chatfuel.com/assets/video.mp4"
        }
      }
    }
  ]
}
```

You can also directly use Facebook Posts with media instead of uploading it manually:

```
{
  "messages": [
    {
      "attachment": {
        "type": "template",
        "payload": {
          "template_type": "media",
          "elements": [
            {
              "media_type": "video",
              "url": "https://www.facebook.com/chatfuelrockets/videos/252894858962779/",
              "buttons": [
                {
                  "title": "Go to Chatfuel!",
                  "type": "web_url",
                  "url": "https://chatfuel.com/"
                }
              ]
            }
          ]
        }
      },
      "quick_replies": [
        {
          "title": "That's cool!",
          "payload": "string"
        }
      ]
    }
  ]
}
```

**Sending audio**

Use this response to send audio files. Messenger supports MP3, OGG, WAV audios, which are up to 25MB in size.

```
{
  "messages": [
    {
      "attachment": {
        "type": "audio",
        "payload": {
          "url": "https://rockets.chatfuel.com/assets/hello.mp3"
        }
      }
    }
  ]
}
```

**Sending files**

Use this response to send any other files, which are no larger than 25 MB.

```
{
  "messages": [
    {
      "attachment": {
        "type": "file",
        "payload": {
          "url": "https://rockets.chatfuel.com/assets/ticket.pdf"
        }
      }
    }
  ]
}
```

**Sending galleries**

Use this response to send a horizontal scrollable gallery. Each item is composed of an image attachment, short description and buttons to request input from the user.\
Note: messenger\_extensions should only be added if you are using [Messenger Extensions](https://docs.chatfuel.com/configure/chat-extensions).

```
{
 "messages": [
    {
      "attachment":{
        "type":"template",
        "payload":{
          "template_type":"generic",
          "image_aspect_ratio": "square",
          "elements":[
            {
              "title":"Chatfuel Rockets Jersey",
              "image_url":"https://rockets.chatfuel.com/assets/shirt.jpg",
              "subtitle":"Size: M",
              "buttons":[
                {
                  "type":"web_url",
                  "url":"https://rockets.chatfuel.com/store",
                  "title":"View Item"
                }
              ]
            },
            {
              "title":"Chatfuel Rockets Jersey",
              "image_url":"https://rockets.chatfuel.com/assets/shirt.jpg",
              "subtitle":"Size: L",
              "default_action": {
                "type": "web_url",
                "url": "https://rockets.chatfuel.com/store",
                "messenger_extensions": true
              },
              "buttons":[
                {
                  "type":"web_url",
                  "url":"https://rockets.chatfuel.com/store",
                  "title":"View Item"
                }
              ]
            }
          ]
        }
      }
    }
  ]
}
```

**Sending receipts**

Use this response to send an order confirmation. It may include an order summary, payment details, and shipping information.

```
{
  "messages": [
    {
      "attachment": {
        "type": "template",
        "payload": { 
          "template_type": "receipt",
          "recipient_name": "Mark Zuckerberg",
          "order_number": "12345678901",
          "currency": "USD",
          "payment_method": "Visa 2345",
          "order_url": "https://rockets.chatfuel.com/store?order_id=12345678901",
          "timestamp": "1428444666",
          "address": {
            "street_1": "1 Hacker Way",
            "street_2": "",
            "city": "Menlo Park",
            "postal_code": "94025",
            "state": "CA",
            "country": "US"
          },
          "summary": {
            "subtotal": 105,
            "shipping_cost": 4.95,
            "total_tax": 9,
            "total_cost": 118.95
          },
          "adjustments": [
            {
              "name": "CF Rockets Superstar",
              "amount": -25
            }
          ],
          "elements": [
            {
              "title": "Chatfuel Rockets Jersey",
              "subtitle": "Size: M",
              "quantity": 1,
              "price": 65,
              "currency": "USD",
              "image_url":   "http://rockets.chatfuel.com/assets/shirt.jpg"
            },
            {
              "title": "Chatfuel Rockets Jersey",
              "subtitle": "Size: L",
              "quantity": 1,
              "price": 65,
              "currency": "USD",
              "image_url":   "http://rockets.chatfuel.com/assets/shirt.jpg"
            }
          ]
        }
      }
    }
  ]
}
```

**Buttons**

Use this JSON to add buttons to your responses. You can set buttons to link to a block in the dashboard, open a website, or send another request to your backend. Buttons are limited to 3 items per message.

```
{
  "messages": [
    {
      "attachment": {
        "type": "template",
        "payload": {
          "template_type": "button",
          "text": "Hello!",
          "buttons": [
            {
              "type": "show_block",
              "block_names": ["name of block"],
              "title": "Show Block"
            },
            {
              "type": "web_url",
              "url": "https://rockets.chatfuel.com",
              "title": "Visit Website"
            },
            {
              "url": "https://rockets.chatfuel.com/api/welcome",
              "type":"json_url",
              "title":"Postback"
            }
          ]
        }
      }
    }
  ]
}
```

You can also use the Call button, this button dials a phone number when tapped.

```
{
  "messages":[
    {
      "attachment":{
        "type":"template",
        "payload":{
          "template_type":"generic",
          "elements":[
            {
              "title":"Get in touch",
              "image_url":"https://rockets.chatfuel.com/assets/contact.jpg",
              "subtitle":"Feel free to hit us up!",
              "buttons":[
                {
                  "type":"phone_number",
                  "phone_number":"+19268881413",
                  "title":"Call"
                }
              ]
            }
          ]
        }
      }
    }
  ]
}
```

**Quick replies**

Use this JSON to add quick replies to your responses. Quick replies are limited to 11 items per message.

```
{
  "messages": [
    {
      "text":  "Did you enjoy the last game of the CF Rockets?",
      "quick_replies": [
        {
          "title":"Loved it!",
          "block_names": ["Block 1", "Block 2"]
        },
        {
          "title":"Not really...",
          "url": "https://rockets.chatfuel.com/api/sad-match",
          "type":"json_url"
        },
        {
          "title": "More...",
          "payload": "string"
        }
      ]
    }
  ]
}
```

**Setting user attributes**

You can set user attributes by having the field set\_attributes as bellow&#x20;

```
{
  "set_attributes":
    {
      "some attribute": "some value",
      "another attribute": "another value"
    },
  "messages":[
    . . .
  ]
}
```

**Redirect to blocks**

You can redirect a user to a block or to a sequence of blocks — no user action is needed.

```
{
  "redirect_to_blocks": ["Welcome Message", "Default Answer"]
}
```

\
Do keep in mind that for other functionalities or compiling functions to work altogether is out of Chatfuel's scope of support and we suggest to get help from an expert.


# Chính sách Facebook Messenger năm 2020

Facebook Messenger thay đổi những gì?

![Facebook Messenger](https://subiz.com/blog/wp-content/uploads/2018/05/facebook-messenger-5a09fe9b482c520037ea7cda.png)

Chính sách mới của **Facebook Messenger** sẽ hạn chế doanh nghiệp chỉ có thể gửi lượng tin nhắn giới hạn thay vì sử dụng chatbot như trước đây. Cụ thể hơn, dự kiến kể từ ngày 4/3/2020, trừ phi chạy quảng cáo trên Messenger, doanh nghiệp chỉ có thể inbox cho khách hàng nếu thỏa mãn ít nhất một trong ba điều kiện: inbox được gửi chỉ trong vòng 24h, ngoài 24 giờ thì tin nhắn thuộc về một trong bốn loại tag, và mã API 1 lần cho khách hàng đã đăng kí (subscribe).

#### **1. Chính sách 24h**

Mỗi khi khách hàng trả lời chatbot, doanh nghiệp sẽ có 24 tiếng tiếp theo để gửi tin nhắn inbox mà không gặp giới hạn nào về nội dung. Ví dụ như sau:

Chatbot gửi tin cho khách hàng vào phút 0.

TH1: Khách tương tác sau X phút. Chatbot có thể gửi tin tiếp theo trong vòng 24 giờ kể từ X.

TH2: Khách không tương tác sau Y giờ. Cửa sổ nhắn tin chỉ còn hiệu lực sau 24-Y giờ. Nếu sau 24 giờ khách vẫn không trả lời thì chatbot không thể gửi tin tới khách được nữa.

Đây là những hành động được coi là phản ứng khách hàng:

* Khách hàng gửi tin nhắn về trang
* Khách hàng click vào một nút trên Main Menu
* Khách hàng click vào 1 phím trả lời nhanh
* Khách hàng lựa chọn trong 1 tin nhắn thăm dò hoặc 1 tin nhắn khuyến mại
* Khách hàng bấm nào phím ” Bắt đầu” ( Get Started ) trên màn hình chào ban đầu
* Khách hàng bấm vào Tin nhắn tài trợ (tin nhắn trả tiền cho Facebook)
* Khách hàng bấm vào link chuyển hướng tới Messenger bên trong email.

![Facebook Messenger](https://subiz.com/blog/wp-content/uploads/2019/12/facebook-3-300x253.jpg)

#### **2. Thẻ tin nhắn (Tag)**

Vậy còn những tin nhắn gửi ngoài 24h? Doanh nghiệp vẫn có thể gửi tin nhắn tới khách hàng nếu tin nhắn đó thuộc vào một trong bốn loại dưới đây và được gắn thẻ đúng với nội dung nó truyền tải. Facebook Messenger cho phép các loại tin nhắn sau:

* **Xác nhận sự kiện (Confirmed event reminder)**

Thẻ này dùng để gửi cho khách hàng lời nhắc hoặc cập nhật về 1 sự kiện mà họ đã đăng kí ( ví dụ như cập nhật sự kiện hoặc nhắc nhở về việc mua vé, giờ giấc khai mạc..)

* **Cập nhật sau mua hàng (Post purchase update)**

Tin nhắn xác nhận với khách hàng sau sự kiện mua hàng. Ví dụ như xác nhận giao dịch đã thành công hoặc thông báo tình trạng vận chuyển.

* **Cập nhật tài khoản (Account Update)**

Tin nhắn thông báo cho người dùng về thay đổi trên tài khoản hoặc mẫu form đăng kí, đăng nhập. Ví dụ như hoàn tất nộp đơn, hoặc thông báo có hoạt động khả nghi bất thường trên tài khoản.

* **Nhân sự tư vấn (Human Agent)**

Thẻ này cho phép các tư vấn viên thật sự có thể hồi đáp yêu cầu của khách hàng. Tin nhắn có thể gửi trong vòng 7 ngày sau tin nhắn của khách hàng. Tuy nhiên thẻ này vẫn trong tình trạng thử nghiệm trong nội bộ Facebook và chưa ứng dụng ra bên ngoài.

#### **3. Thông báo một lần (One Time Notification)**

One Time Notification dành cho các khách hàng đã yêu cầu được nhận thông báo từ doanh nghiệp (Ví dụ như khách đăng kí nhận thông báo đã có hàng trở lại, khách đăng kí nhận vé đã mở bán, thông báo chương trình ưu đãi tháng..)

Khi người dùng yêu cầu được thông báo, trang sẽ nhận được mã API tương đương với quyền gửi một tin nhắn cho người dùng. Mã này chỉ có thể được sử dụng một lần và sẽ hết hạn trong vòng 1 năm kể từ khi tạo.

Như vậy nếu khách hàng đã đăng kí nhận tin nhắn từ doanh nghiệp, khi tới chương trình/ sự kiện/ nội dung mà khách hàng yêu cầu, doanh nghiệp có thể inbox thông tin đó tới những người đã đăng kí, cho dù đã quá 24h sau lần tương tác cuối.

Tại sao Facebook Messenger thay đổi chính sách nhắn tin?

Theo **thông báo chính thức từ Facebook,** nguyên nhân khiến Facebook đưa ra thay đổi này là để:

+/ Trả lời khách hàng kịp thời, đúng lúc ngay khi khách hàng cần

+/ Doanh nghiệp cần tăng cường chia sẻ những cập nhật trực tiếp liên quan tới khách hàng.

+/ Chấm dứt tình trạng spam qua Facebook Messenger.

Hiện tại doanh nghiệp có những cách nào để gửi tin nhắn Facebook Messenger tới khách hàng?

\- Gắn tin nhắn với 1 trong 4 thẻ trên hoặc tuân thủ luật 24h. Lưu ý nội dung của bạn cần phù hợp với các thẻ đó.

\- Với những tin nhắn ngoài khung 24h hoặc không thuộc vào 1 trong 4 thẻ trên, bạn có thể dùng tin nhắn được tài trợ, nói cách khác là chạy quảng cáo Messenger. Về cơ bản bạn phải trả tiền để gửi tin nhắn tiếp tới những người chưa từng tương tác với chatbot.


