---
title: "เขียนข้อความของการแจ้งเตือนเองและใช้งาน webhook"
slug: "webhooks-and-messages"
kind: "HELP_ARTICLE"
category: "alerts"
locale: "th"
canonical: "https://app.forecastcity.com/th/help/alerts/webhooks-and-messages"
published: "2026-09-08T17:58:35.210Z"
updated: "2026-10-28T00:20:11.681Z"
description: "ดูว่าข้อความของการแจ้งเตือนแสดงข้อมูลใด เพิ่มข้อความและตัวแปรของคุณเอง และส่งการแจ้งเตือนไปยังซอฟต์แวร์ของคุณ Discord หรือ Slack ด้วย webhook"
---

# เขียนข้อความของการแจ้งเตือนเองและใช้งาน webhook

การแจ้งเตือนแต่ละรายการจะส่งข้อความเดียวกันไปยังทุกช่องทางที่คุณทำเครื่องหมายเลือกไว้ โดยปกติข้อความจะบอกว่าเกิดอะไรขึ้น ราคาในจังหวะนั้นเป็นเท่าใด และการแจ้งเตือนยังคงทำงานอยู่หรือไม่ คุณสามารถเพิ่มบันทึกเกี่ยวกับแผนการเทรดของคุณเพื่อดูสิ่งที่คุณวางแผนไว้ก่อนเปิดชาร์ตได้ การตั้งค่าการแจ้งเตือนและข้อความทำได้ง่าย รวดเร็ว และแม่นยำ พิมพ์ในหน้าต่างแก้ไข หรือสั่งหรือขอให้ **AI Trading Assistant** ช่วยตั้งค่าด้วยเสียงหรือข้อความ

หากคุณใช้ซอฟต์แวร์ของคุณเอง Discord หรือ Slack คุณสามารถใช้ webhook ส่งการแจ้งเตือนแต่ละรายการไปยังปลายทางเหล่านั้นได้โดยไม่ต้องคัดลอกด้วยตัวเอง คู่มือนี้ครอบคลุมทั้งสองเรื่อง

ตัวอย่าง: การแจ้งเตือนบน EURUSD ที่ทำงานเมื่อราคาตัดขึ้นเหนือ 1.09 บนชาร์ต 5m

## ข้อความอัตโนมัติแสดงข้อมูลใด

เมื่อช่อง **Message** ว่างอยู่ การแจ้งเตือนจะเขียนข้อความเองเมื่อทำงาน สำหรับตัวอย่างข้างต้น ข้อความจะแสดงดังนี้:

```
EURUSD crossed above 1.09
Price 1.0901.
This alert is now off. It was set to fire once.
```

บรรทัดแรกบอกว่าเกิดอะไรขึ้นตามถ้อยคำในหน้าต่างแก้ไขการแจ้งเตือน บรรทัดถัดมาแสดงตัวเลขในจังหวะนั้น บรรทัดสุดท้ายบอกว่าการแจ้งเตือนยังคงทำงานอยู่หรือไม่ ตัวอย่างนี้ใช้ **Once only** ดังนั้นการแจ้งเตือนจึงปิดการทำงานแล้ว หากใช้ตัวเลือกการทำงานอื่น บรรทัดสุดท้ายจะแสดงว่า “This alert stays on.” (การแจ้งเตือนนี้ยังคงทำงานอยู่)

การแจ้งเตือนประเภทอื่นก็เรียงลำดับแบบเดียวกัน ตัวอย่างบรรทัดแรกพร้อมบรรทัดตัวเลขด้านล่างมีดังนี้:

-   เส้น: “GBPJPY touched 1h Resistance R1” และ “Price 210.16, line at 210.20.”
    
-   การทะลุเส้น: “GBPJPY broke above 1h Resistance R1” และ “The 1h candle closed at 210.32, above the line at 210.20.”
    
-   อินดิเคเตอร์: “BTCUSD: 1h RSI(14) crossed above 70” และ “RSI(14) was 71.4 when the 1h candle closed at 105240.50.”
    
-   การเปลี่ยนทิศทางการคาดการณ์: “GBPJPY: 1h forecast turned bearish” และ “Before: bullish above 209.80. Now: bearish below 209.40.”
    

การแจ้งเตือนที่มีหลายเงื่อนไขจะบอกว่าเข้าเกณฑ์กี่ข้อ จากนั้นจะแสดงหนึ่งบรรทัดสำหรับแต่ละเงื่อนไขที่เข้าเกณฑ์:

```
BTCUSD: both conditions met
• Price crossed above 105000: the 1h candle closed at 105240.50
• 1h RSI(14) is above 55 (now 58.2)
This alert stays on.
```

หากมีเงื่อนไขมากกว่านั้น บรรทัดแรกจะแสดงเช่น “all 3 conditions met” หรือ “2 of 3 conditions met” เมื่อมีเพียงเงื่อนไขเดียวที่เข้าเกณฑ์ เช่นเมื่อใช้คำเชื่อม **or** บรรทัดแรกจะระบุเงื่อนไขนั้นและตามด้วยตัวเลขของเงื่อนไขดังกล่าว

## การเขียนข้อความ

1.  เปิดหน้าต่างแก้ไขการแจ้งเตือนแล้วไปที่แท็บ **Options**
    
2.  คลิกแถว **Message** ซึ่งจะแสดงคำว่า Auto ขณะที่ยังว่างอยู่ ช่องข้อความจะเปิดขึ้นด้านล่าง
    
3.  พิมพ์ข้อความของคุณ ช่องนี้รองรับได้สูงสุด 400 ตัวอักษร
    
4.  หากต้องการเพิ่มค่าสด ให้เปิด **Available variables** ใต้ช่องข้อความ แล้วคัดลอกตัวแปรให้ตรงทุกตัวอักษรรวมถึงปีกกาคู่
    

![แถว Message ที่เปิดอยู่ในแท็บ Options พร้อมช่องข้อความที่ว่างอยู่ คำอธิบายด้านล่าง และรายการ Available variables](https://m.forecastcity.com/t/tnt_forecastcity/media/b4/b480142e20ce43cec05e3313cedc9941ceea0b334c3b3dda3ae8680099c0f69b.png)

ช่อง Message ที่เปิดอยู่และยังว่าง จึงส่งข้อความอัตโนมัติของการแจ้งเตือน

1.  **Automatic message**: ช่องที่ว่างอยู่ พิมพ์ข้อความของคุณเองที่นี่ หรือปล่อยว่างไว้
    
2.  บรรทัดใต้ช่อง: “Leave it blank and the alert says what happened and at what price. A message of your own is sent first, with that under it.” (หากปล่อยว่างไว้ การแจ้งเตือนจะบอกว่าเกิดอะไรขึ้นและที่ราคาเท่าใด หากเขียนข้อความเอง ข้อความของคุณจะถูกส่งเป็นบรรทัดแรกและตามด้วยข้อมูลนั้นด้านล่าง)
    
3.  **Available variables**: ค่าสดที่คุณสามารถเพิ่มลงในข้อความได้
    

ข้อความของคุณจะกลายเป็นบรรทัดแรก และข้อความอัตโนมัติจะตามมาด้านล่าง สำหรับตัวอย่างข้างต้น ข้อความนี้:

```
{{symbol}} on {{timeframe}}: check the 1h trend before entering.
```

จะส่งไปถึงในรูปแบบนี้:

```
EURUSD on 5m: check the 1h trend before entering.
EURUSD crossed above 1.09. Price 1.0901.
This alert is now off. It was set to fire once.
```

ราคาและเงื่อนไขจะอยู่ในบรรทัดใต้ข้อความของคุณอยู่แล้ว จึงควรใช้ข้อความของคุณสำหรับสิ่งที่บรรทัดเหล่านั้นไม่ได้บอก เช่น แผนการเทรดของคุณ

ข้อความที่คุณพิมพ์จะใช้เป็นชื่อของการแจ้งเตือนในรายการ Alerts ด้วย หากไม่ได้พิมพ์ไว้ รายการจะแสดงชื่อที่สร้างจากเงื่อนไข สำหรับระดับราคา ชื่อจะสั้น เช่น “EURUSD crossing up 1.09” ส่วนเส้นหรือหลายเงื่อนไขจะแสดงตามที่หน้าต่างแก้ไขเขียนไว้ เช่น “GBPJPY: 1h Price touches 1h Resistance R1” เมื่อคุณเปลี่ยนเงื่อนไข ชื่อนี้จะเปลี่ยนตาม เมื่อคุณเปิดการแจ้งเตือนอีกครั้ง ช่อง **Message** จะยังคงว่างอยู่ การแจ้งเตือนที่คุณบันทึกไว้ก่อนหน้านี้โดยไม่มีข้อความก็จะแสดงชื่อในรูปแบบนี้เช่นกัน

## แต่ละช่องทางแสดงข้อมูลอย่างไร

ทุกช่องทางจะได้รับข้อความเดียวกัน โดยจัดวางให้เหมาะกับช่องทางนั้น:

<table><thead><tr><th>ช่องทาง</th><th>สิ่งที่แสดง</th></tr></thead><tbody><tr><td>ข้อความแจ้งเตือนในแอป</td><td>บรรทัดแรกเป็นตัวหนา และมีตัวเลขอยู่ด้านล่าง</td></tr><tr><td><strong>Notify my devices</strong></td><td>บรรทัดแรกเป็นหัวข้อ และมีบรรทัดอื่นอยู่ด้านล่าง</td></tr><tr><td><strong>Send to MetaTrader</strong></td><td>บรรทัดแรกเป็นหัวข้อ และมีบรรทัดอื่นอยู่ด้านล่าง โปรแกรม MetaTrader จะแสดงเวลาของตัวเองไว้ข้างข้อความด้วย</td></tr><tr><td><strong>Telegram</strong></td><td>ข้อความ เวลาตามเขตเวลาของคุณ และลิงก์ไปยังชาร์ต</td></tr><tr><td><strong>Send email</strong></td><td>ข้อความ พร้อมวันที่และเวลาตามเขตเวลาของคุณ</td></tr><tr><td><strong>Webhook URL</strong></td><td>Discord และ Slack จะได้รับข้อความพร้อมเวลาแบบ UTC ส่วนตัวเลือก <strong>Raw JSON</strong> จะส่งตัวแปรด้านล่างไปยังซอฟต์แวร์ของคุณ</td></tr></tbody></table>

Telegram จะเขียนเวลาในรูปแบบนี้: “24 Sep, 11:02 London time” หากเขตเวลาไม่ถูกต้อง ให้เลือกเขตเวลาของคุณที่หัวข้อ **Timezone** บนหน้า **Your profile** เมื่อ ForecastCity ไม่ทราบเขตเวลาของคุณ เวลาจะแสดงเป็น UTC

ลิงก์ในข้อความ Telegram อีเมล ข้อความแจ้งเตือนบนโทรศัพท์ หรือป๊อปอัปบน MetaTrader จะเปิดชาร์ตของสัญลักษณ์นั้นพร้อมแผง Alerts สำหรับการแจ้งเตือนของ 4CM-AI ส่วนใหญ่ ลิงก์จะเปิดชาร์ตพร้อม **Alert observation** ของการทำงานครั้งนั้น

## การเพิ่มค่าสดด้วยตัวแปร

ตัวแปรจะถูกแทนที่ด้วยค่าจริงเมื่อการแจ้งเตือนทำงาน ตัวแปรทั้งหมดใน **Available variables** มีดังนี้:

<table><thead><tr><th>ตัวแปร</th><th>สิ่งที่เขียนออกมา</th><th>ตัวอย่าง</th></tr></thead><tbody><tr><td><code>{{symbol}}</code></td><td>สัญลักษณ์</td><td>EURUSD</td></tr><tr><td><code>{{price}}</code> และ <code>{{close}}</code></td><td>ราคาในจังหวะที่การแจ้งเตือนทำงาน</td><td>1.0901</td></tr><tr><td><code>{{condition_text}}</code></td><td>สิ่งที่เกิดขึ้นโดยไม่มีชื่อสัญลักษณ์</td><td>Price crossed above 1.09</td></tr><tr><td><code>{{condition}}</code></td><td>รหัสย่อของเงื่อนไข</td><td>CROSSING_UP 1.09</td></tr><tr><td><code>{{timeframe}}</code></td><td>ไทม์เฟรมของการแจ้งเตือน</td><td>5m</td></tr><tr><td><code>{{time_iso}}</code></td><td>วันที่และเวลาในรูปแบบ UTC</td><td>2026-09-24 10:02 UTC</td></tr><tr><td><code>{{time}}</code></td><td>เวลาเดียวกันในรูปแบบจำนวนวินาทีสำหรับซอฟต์แวร์</td><td>1790244120</td></tr><tr><td><code>{{time_now}}</code></td><td>จังหวะที่ส่งข้อความในรูปแบบตัวเลข</td><td>1790244121</td></tr><tr><td><code>{{exchange}}</code></td><td>แหล่งที่มาของข้อมูลราคา</td><td>TwelveData</td></tr><tr><td><code>{{status}}</code></td><td>สถานะว่าการแจ้งเตือนยังคงทำงานอยู่หรือไม่</td><td>This alert stays on.</td></tr><tr><td><code>{{alert_url}}</code></td><td>ลิงก์ไปยังชาร์ตของสัญลักษณ์นั้นพร้อมรายการการแจ้งเตือนของคุณ</td><td>ที่อยู่เว็บ</td></tr><tr><td><code>{{name}}</code></td><td>ข้อความของคุณที่แทนที่ตัวแปรด้วยค่าจริงแล้ว หรือชื่อที่แสดงในรายการ Alerts</td><td>EURUSD crossing up 1.09</td></tr></tbody></table>

สำหรับเส้น ตัวแปร `{{condition_text}}` จะแสดงข้อความอย่างเช่น “Price touched 1h Resistance R1” หากมีหลายเงื่อนไข ตัวแปรจะเชื่อมเงื่อนไขที่เข้าเกณฑ์ด้วยคำว่า and หลังจากการแจ้งเตือนแบบ **Once only** ทำงานแล้ว `{{status}}` จะแสดงว่า “This alert is now off. It was set to fire once.” สำหรับการแจ้งเตือนที่มีหลายเงื่อนไข เส้น หรืออินดิเคเตอร์ ตัวแปร `{{condition}}` จะแสดงเป็น `TREE` ซึ่งตัวแปรนี้เป็นรหัสสำหรับซอฟต์แวร์

สำหรับการแจ้งเตือนของ 4CM-AI ตัวแปร `{{forecast_summary}}` จะสรุปสิ่งที่การคาดการณ์ทำ และ `{{forecast_symbol}}` จะระบุสัญลักษณ์ของการคาดการณ์ ส่วน `{{forecast_cycle}}` เป็นตัวนับที่จะเพิ่มขึ้นทุกครั้งที่การแจ้งเตือนเริ่มเฝ้าดูรอบใหม่ ข้อความที่มี `{{forecast_summary}}` จะไม่มีบรรทัดอัตโนมัติต่อท้ายด้านล่าง เพราะส่วนสรุปได้บอกสิ่งที่เกิดขึ้นไว้แล้ว

ตัวแปร `{{price}}` และ `{{close}}` จะว่างอยู่สำหรับการแจ้งเตือนของ 4CM-AI ส่วนใหญ่ เนื่องจากไม่ได้อ้างอิงราคาเดียว ส่วน `{{time_iso}}` ใช้เวลา UTC จึงอาจแตกต่างจากเวลาบนหน้าจอของคุณ ตัวแปรที่ไม่มีอยู่จริงจะคงอยู่ตามที่คุณพิมพ์ไว้ทุกประการ เช่น หากสะกดผิดเป็น `{{prices}}` ข้อความที่ไปถึงก็จะแสดงเป็น `{{prices}}`

## การส่งการแจ้งเตือนไปยัง webhook

webhook จะส่งการแจ้งเตือนแต่ละรายการไปยังที่อยู่เว็บ เพื่อให้ซอฟต์แวร์ของคุณ ช่อง Discord หรือช่อง Slack รับข้อมูลนั้น แพ็กเกจสมาชิกของคุณต้องรองรับการใช้งาน webhook

1.  ที่แท็บ Options ใต้หัวข้อ Notifications ให้ทำเครื่องหมายในช่อง **Webhook URL** ช่องกรอกที่อยู่เว็บ ตัวเลือก Format และช่องเนื้อหาจะปรากฏขึ้น
    
2.  วางที่อยู่เว็บที่ตัวรับของคุณเปิดรอรับข้อมูล ซึ่งต้องขึ้นต้นด้วย `http://` หรือ `https://`
    
3.  ตั้งค่า **Format** เป็น **Raw JSON** แล้วปล่อยช่องเนื้อหาให้ว่างไว้
    
4.  กดปุ่ม **Create** หรือปุ่ม **Save** สำหรับการแจ้งเตือนที่คุณแก้ไข
    

![แถว Webhook URL ที่ทำเครื่องหมายเลือกไว้ พร้อมที่อยู่เว็บ ตัวเลือกรูปแบบที่ตั้งเป็น Raw JSON และช่องเนื้อหาที่ว่างอยู่](https://m.forecastcity.com/t/tnt_forecastcity/media/9e/9e711afc65b24ebfe70a8e091cc4006b5f9d7d57d50d61b67e5ee920f8ab4877.png)

ทำเครื่องหมายที่ Webhook URL พร้อมกรอกที่อยู่เว็บและตั้งค่า Format เป็น Raw JSON ช่องเนื้อหาที่ว่างอยู่จะส่งข้อมูลตามค่าเริ่มต้น

1.  ที่อยู่เว็บที่ตัวรับของคุณเปิดรอรับข้อมูล ใช้พอร์ตมาตรฐานคือ 80 หรือ 443
    
2.  **Format**: เลือก Raw JSON สำหรับซอฟต์แวร์ของคุณเอง หรือเลือก Discord หรือ Slack สำหรับบริการเหล่านั้น
    

เมื่อปล่อยช่องเนื้อหาให้ว่างไว้ ตัวรับของคุณจะได้รับออบเจกต์ JSON ที่มีตัวแปรทุกตัวจากตารางข้างต้น พร้อมด้วย `alertId` และ `triggerId` ซึ่งสองค่านี้ใช้ระบุตัวการแจ้งเตือนและการทำงานในครั้งนั้น แนะนำให้ดูข้อมูลที่ส่งไปจริงสักหนึ่งครั้งก่อนสร้างระบบที่ต้องพึ่งพาช่องข้อมูลเหล่านี้

ใต้ช่องเนื้อหา หน้าต่างแก้ไขจะแสดงที่อยู่เซิร์ฟเวอร์ที่คำขอของเราถูกส่งออกไป ให้เพิ่มที่อยู่นี้ลงในรายการที่อนุญาตหากตัวรับของคุณรับเฉพาะที่อยู่ที่รู้จักเท่านั้น

### ข้อกำหนดของที่อยู่เว็บ

-   ต้องเป็นที่อยู่สาธารณะบนพอร์ตมาตรฐาน: พอร์ต 80 สำหรับ http และ 443 สำหรับ https ระบบจะไม่ส่งข้อความไปยังพอร์ตอื่น ไปยัง localhost หรือไปยังที่อยู่เครือข่ายส่วนตัว
    
-   ต้องไม่มีชื่อผู้ใช้หรือรหัสผ่านอยู่ในที่อยู่เว็บ
    
-   ต้องตอบกลับภายใน 3 วินาทีจากที่อยู่เว็บนั้นโดยตรง การเปลี่ยนเส้นทางไปยังที่อยู่อื่นจะนับว่าส่งไม่สำเร็จ
    

หน้าต่างแก้ไขจะตรวจสอบเพียงว่าที่อยู่เว็บขึ้นต้นด้วย `http://` หรือ `https://` เท่านั้น ส่วนข้อกำหนดอื่นๆ จะถูกตรวจสอบเมื่อส่งข้อความจริง ดังนั้นจึงควรทดสอบที่อยู่เว็บของคุณด้วยการแจ้งเตือนจริง สำหรับการแจ้งเตือนราคาและการแจ้งเตือนทางเทคนิค หากตัวรับของคุณเกิดข้อผิดพลาดชั่วคราว ระบบจะลองส่งซ้ำให้อีกไม่เกินสองครั้ง ส่วนข้อความของการแจ้งเตือน 4CM-AI จะไม่ถูกส่งซ้ำหลังจากหมดเวลาหรือเกิดข้อผิดพลาดของเซิร์ฟเวอร์ เนื่องจากตัวรับของคุณอาจดำเนินการตามข้อมูลนั้นไปแล้ว

## การเขียนเนื้อหา webhook ของคุณเอง

ช่องเนื้อหารองรับแม่แบบที่ใช้ตัวแปรชุดเดียวกับข้อความ โดยใส่ได้สูงสุด 2000 ตัวอักษร ช่องนี้ยอมให้คุณพิมพ์เกินได้ แต่เนื้อหาที่ยาวเกินกำหนดจะถูกปฏิเสธเมื่อคุณกดบันทึก

สำหรับ **Raw JSON** ตัวรับที่ต้องการออบเจกต์ขนาดเล็กสามารถใช้เนื้อหาดังนี้:

```
{"symbol":"{{symbol}}","condition":"{{condition_text}}","time":"{{time_iso}}","source":"ForecastCity"}
```

ตัวแปรจะถูกแทนที่ด้วยข้อความธรรมดา ค่าที่มีเครื่องหมายคำพูดหรือการขึ้นบรรทัดใหม่อาจทำให้รูปแบบ JSON ของคุณเสียหายได้ เนื้อหาที่ไม่ใช่ JSON ที่ถูกต้องจะถูกส่งออกไปเป็นข้อความธรรมดา

สำหรับช่อง Discord ให้ตั้งค่า **Format** เป็น **Discord** แล้วใช้ที่อยู่ webhook ของช่องนั้น จากนั้นเขียนข้อความสั้นๆ ในช่องเนื้อหา เช่น:

```
{{symbol}}: {{condition_text}}. Open your alerts: {{alert_url}}
```

สำหรับ Slack ให้เลือก **Slack** แล้วเขียนในลักษณะเดียวกัน ForecastCity จะห่อข้อความของคุณให้อยู่ในรูปแบบที่แต่ละบริการต้องการ หากปล่อยช่องเนื้อหาว่างไว้ ทั้งสองบริการจะได้รับข้อความของการแจ้งเตือนตามที่แสดงไว้ข้างต้น พร้อมเวลาแบบ UTC ในบรรทัดสุดท้าย

## การตรวจสอบผลลัพธ์

1.  รอให้การแจ้งเตือนทำงาน จากนั้นเปิดแท็บ **Log** ในแผง Alerts
    
2.  เปรียบเทียบสิ่งที่ตัวรับของคุณได้รับกับรายการใน Log ทั้งสิ่งที่เกิดขึ้น สัญลักษณ์ และเวลา
    

แท็บ Log จะแสดงว่าการแจ้งเตือนได้ทำงานแล้ว แต่ไม่ได้แสดงว่าตัวรับของคุณตอบรับข้อความหรือไม่ จึงควรตรวจสอบบันทึกของฝั่งตัวรับของคุณด้วย หากคุณเห็นปีกกาคู่ เช่น `{{prices}}` แสดงว่าสะกดชื่อตัวแปรผิด หากตัวรับของคุณปฏิเสธเนื้อหา ให้ตรวจสอบรูปแบบ JSON

## ข้อควรรู้

-   ข้อความจะถูกส่งไปยังทุกช่องทางที่คุณทำเครื่องหมายเลือกไว้ ส่วนเนื้อหา webhook จะถูกส่งไปยัง webhook เท่านั้น
    
-   Discord แสดงข้อความได้สูงสุด 1900 ตัวอักษร และ Slack สูงสุด 3000 ตัวอักษร ข้อความที่ยาวกว่านั้นจะถูกตัดออก
    

## คู่มือที่เกี่ยวข้อง

-   [เลือกช่องทางรับข้อความแจ้งเตือน](<https://app.forecastcity.com/th/help/alerts/notification-delivery>)
    
-   [ตรวจสอบสาเหตุที่ไม่ได้รับข้อความแจ้งเตือน](<https://app.forecastcity.com/th/help/alerts/trigger-log-and-troubleshooting>)
    
-   [สร้างการแจ้งเตือนราคาครั้งแรก](<https://app.forecastcity.com/th/help/alerts/first-price-alert>)
