Tạo Channel và Webhook Slack để nhận thông báo

Nội dung Markdown đầy đủ của trang tài liệu.

# Tạo Channel và Webhook Slack để nhận thông báo

> 📌 Đây là hướng dẫn chi tiết cách **tạo Channel Slack**, **thiết lập Webhook**, và **gửi tin nhắn tự động** từ hệ thống như thông báo giao dịch.

---

## 🛠️ Bước 1: Tạo Channel Slack

1. Truy cập [https://slack.com/signin](https://slack.com/signin) và đăng nhập.
2. Vào Workspace muốn sử dụng.
3. Bấm **Add channels** → **Create a new channel**.
4. Đặt tên kênh (ví dụ: `thong-bao-giao-dich`).
5. Chọn Public/Private theo nhu cầu → **Create**.

---

## 🛠️ Bước 2: Tạo Webhook cho Slack

1. Truy cập [https://api.slack.com/apps](https://api.slack.com/apps).
2. Bấm **Create New App** → **From scratch**.
3. Đặt tên (ví dụ: `Pay2S Notify`) và chọn Workspace đã tạo kênh.
4. Trong sidebar, chọn **Incoming Webhooks** → Bật **Activate Incoming Webhooks**.
5. Bấm **Add New Webhook to Workspace** → Chọn Channel vừa tạo → **Allow**.
6. Copy Webhook URL, ví dụ:

```bash
https://hooks.slack.com/services/T00000000/B00000000/XXXXXXXXXXXXXXXXXXXXXXXX
```

---

## 🛠️ Bước 3: Gửi tin nhắn lên Slack

### Ví dụ cURL:

```bash
curl -X POST -H 'Content-type: application/json' \
--data '{"text":"🔔 Giao dịch mới: 5000đ vào lúc 15:28:31"}' \
https://hooks.slack.com/services/T00000000/B00000000/XXXXXXXXXXXXXXXXXXXXXXXX
```

### Ví dụ PHP:

```php
$webhookUrl = 'https://hooks.slack.com/services/T00000000/B00000000/XXXXXXXXXXXXXXXXXXXXXXXX';

$data = [
    'text' => '🔔 Giao dịch mới: 5000đ vào lúc 15:28:31'
];

$options = [
    'http' => [
        'method'  => 'POST',
        'header'  => "Content-type: application/json\r\n",
        'content' => json_encode($data)
    ]
];

$context = stream_context_create($options);
$result = file_get_contents($webhookUrl, false, $context);
```

---

## 🛠️ Bước 4: Gửi tin nhắn nâng cao (Block Kit)

Ví dụ JSON Block Kit:

```json
{
  "blocks": [
    {
      "type": "header",
      "text": {"type": "plain_text", "text": "🔔 Giao dịch mới đã được ghi nhận"}
    },
    {
      "type": "section",
      "fields": [
        {"type": "mrkdwn", "text": "*Số tiền:* 5.000đ"},
        {"type": "mrkdwn", "text": "*Thời gian:* 15:28:31"}
      ]
    },
    {"type": "divider"}
  ]
}
```

Cách gửi: Sử dụng JSON này trong `data` của cURL hoặc PHP như ở Bước 3.

---

## 📢 Kết luận

✅ Bạn đã hoàn thành quy trình tích hợp Webhook Slack để nhận thông báo giao dịch.

👉 Nếu cần hỗ trợ thêm về code PHP, Node.js, hay viết API tích hợp cụ thể hơn, hãy liên hệ để được hỗ trợ! 🚀