อินเทอร์เฟซ API แม่แบบ
สร้างเทมเพลต
Endpoint
POST https://otp.api.engagelab.cc/v1/template-configs
การยืนยันตัวตน
ใช้ HTTP Basic Authentication โดยเพิ่ม Authorization ใน HTTP Header:
Authorization: Basic ${base64_auth_string}
base64_auth_string ถูกสร้างขึ้นดังนี้: base64(dev_key:dev_secret)
ตัวอย่างคำขอ
Header ของคำขอ
POST /v1/messages HTTP/1.1
Content-Type: application/json
Authorization: Basic amlndWFuZ2RldjpkZXZfc2VjcmV0
เนื้อหาของคำขอ
{
"template_id": "test-template-1", // รหัสเทมเพลตที่กำหนดเอง ต้องไม่ซ้ำในแอปพลิเคชัน
"description": "Test Template 1", // คำอธิบายของเทมเพลต
"send_channel_strategy": "whatsapp|sms", // กลยุทธ์การส่งเทมเพลต รองรับ 4 ประเภท: whatsapp/sms/voice/email ใช้ | เพื่อระบุกลยุทธ์สำรอง
"brand_name": "Brand Name", // ชื่อแบรนด์ ใช้ในลายเซ็นสำหรับบางประเทศ/ภูมิภาคในเนื้อหาเทมเพลต (เช่น จำเป็นสำหรับช่อง SMS ในบางประเทศ/ภูมิภาค)
"verify_code_config": { // การตั้งค่ารหัสยืนยัน จำเป็นเมื่อเทมเพลตรวมถึงประเภทการยืนยัน
"verify_code_type": 1, // ประเภทของรหัสยืนยัน ช่วง [1,7]
"verify_code_len": 6, // ความยาวของรหัสยืนยัน ช่วง [4,10]
"verify_code_ttl": 1 // ระยะเวลาความถูกต้องของรหัสยืนยัน ช่วง [1,10] หมายเหตุ: เมื่อกลยุทธ์รวมถึง whatsapp ค่าได้เฉพาะ 1, 5 หรือ 10
},
"whatsapp_config": { // การตั้งค่ากลยุทธ์ WhatsApp มีผลเมื่อกลยุทธ์การส่งรวมถึง WhatsApp
"template_type": 1, // ประเภทเทมเพลต WhatsApp ปัจจุบันรองรับเฉพาะเทมเพลตเริ่มต้น ค่า 1
"template_default_config": { // การตั้งค่าเทมเพลตเริ่มต้น WhatsApp มีผลสำหรับประเภทเทมเพลตเริ่มต้น
"contain_security": false, // รวมถึงการแจ้งเตือนความปลอดภัยหรือไม่
"contain_expire": false // รวมถึงเนื้อหาหมดอายุหรือไม่
}
},
"sms_config": { // การตั้งค่ากลยุทธ์ SMS มีผลเมื่อกลยุทธ์การส่งรวมถึง SMS
"template_type": 2, // ประเภทเทมเพลต SMS ค่า: 1-เทมเพลตเริ่มต้น/2-เทมเพลตที่กำหนดเอง
"template_default_config": { // การตั้งค่าเทมเพลตเริ่มต้น SMS มีผลสำหรับประเภทเทมเพลตเริ่มต้น
"contain_security": false, // รวมถึงการแจ้งเตือนความปลอดภัยหรือไม่
"contain_expire": false // รวมถึงเนื้อหาหมดอายุหรือไม่
},
"template_custom_config": { // การตั้งค่าเทมเพลตที่กำหนดเอง SMS มีผลสำหรับประเภทเทมเพลตที่กำหนดเอง
"custom_sub_type": "authentication", // ประเภทเทมเพลตที่กำหนดเอง ค่า: authentication-รหัสยืนยัน/marketing-การตลาด/utility-การแจ้งเตือน
"custom_content": "xxx", // เนื้อหาเทมเพลตที่กำหนดเอง หมายเหตุ: สำหรับประเภท authentication ต้องรวมตัวแปร {{code}}
"custom_country_codes": "HK,PH" // ประเทศ/ภูมิภาคเป้าหมายสำหรับเทมเพลตที่กำหนดเอง ใช้เป็นข้อมูลอ้างอิงระหว่างการตรวจสอบเทมเพลต กรอกตามต้องการ มิฉะนั้นอาจส่งผลต่อการส่ง
}
},
"voice_config": { // การตั้งค่ากลยุทธ์เสียง มีผลเมื่อกลยุทธ์การส่งรวมถึงเสียง
"template_type": 1, // ประเภทเทมเพลตเสียง ปัจจุบันรองรับเฉพาะเทมเพลตเริ่มต้น ค่า 1
"template_default_config": { // การตั้งค่าเทมเพลตเริ่มต้นเสียง มีผลสำหรับประเภทเทมเพลตเริ่มต้น
"contain_security": false, // รวมถึงการแจ้งเตือนความปลอดภัยหรือไม่
"contain_expire": false // รวมถึงเนื้อหาหมดอายุหรือไม่
}
},
"email_config": { // การตั้งค่ากลยุทธ์อีเมล มีผลเมื่อกลยุทธ์การส่งรวมถึงอีเมล
"template_name": "Email Template Name", // ชื่อเทมเพลตอีเมล
"template_custom_configs": [{ // การตั้งค่าเทมเพลตที่กำหนดเองอีเมล หมายเหตุเป็นอาร์เรย์ของอ็อบเจ็กต์ แยกตามภาษา
"language": "default", // ภาษา ค่า default เป็นค่าเริ่มต้น เนื้อหาเทมเพลตสามารถจับคู่ตามพารามิเตอร์ภาษาในระหว่างการส่ง
"pre_from_name": "test", // ชื่อผู้ส่งที่ตั้งไว้ล่วงหน้า
"pre_from_mail": "test@test.com", // อีเมลผู้ส่งที่ตั้งไว้ล่วงหน้า
"pre_subject": "test", // หัวข้ออีเมลที่ตั้งไว้ล่วงหน้า
"template_content": "เนื้อหาเทมเพลตอีเมลที่ตั้งไว้ล่วงหน้า จำเป็น ตัวแปรที่กำหนดเองเช่น {{self}} รหัสยืนยันคือ {{code}}", // เนื้อหาอีเมล รองรับ HTML ตัวแปรต้องอยู่ในวงเล็บปีกกา {{ }}
"pre_param_map": { // ค่าเริ่มต้นสำหรับตัวแปรในเนื้อหาอีเมล หากค่าไม่ถูกระบุระหว่างการส่ง ค่าที่ตั้งไว้ล่วงหน้าจะมาแทนที่ตัวแปร ประกาศเป็นคู่คีย์-ค่า ค่าเป็นสตริง
"self": "นี่คือค่าที่ตั้งไว้ล่วงหน้าสำหรับตัวแปร self"
}
}]
},
"pwa_config": { // การตั้งค่าที่เกี่ยวข้องกับ PWA เป็นตัวเลือก
"pwa_platform": "xx", // แพลตฟอร์ม PWA ที่ใช้ สำหรับค่าที่เฉพาะเจาะจง ติดต่อฝ่ายสนับสนุนทางเทคนิค
"pwa_code": "xx" // รหัสในแพลตฟอร์ม PWA ที่ใช้
}
}
พารามิเตอร์ของคำขอ
อ็อบเจ็กต์คำขอแสดงในรูปแบบ JSON ดังนั้น Header ของคำขอต้องรวม Content-Type: application/json
พารามิเตอร์ | ประเภท | ตัวเลือก | คำอธิบาย |
---|---|---|---|
template_id | String | จำเป็น | รหัสเทมเพลตที่กำหนดเอง ต้องไม่ซ้ำ จำกัดที่ 128 ตัวอักษร |
description | String | ตัวเลือก | คำอธิบายเทมเพลต จำกัดที่ 255 ตัวอักษร |
send_channel_strategy | String | จำเป็น | กลยุทธ์เทมเพลต ค่าแบบช่องเดียว: whatsapp/sms/email/voice หลายช่องใช้ |
brand_name | String | ตัวเลือก | ลายเซ็นแบรนด์ แทนที่ตัวแปรลายเซ็นแบรนด์ในบางสไตล์เทมเพลตด้วยลายเซ็นแบรนด์ ความยาวจำกัดที่ 2-10 ตัวอักษร |
verify_code_config | Object | จำเป็นตามเงื่อนไข | การตั้งค่ารหัสยืนยัน จำเป็นเมื่อเทมเพลตรวมถึงประเภทการยืนยัน |
verify_code_config.verify_code_type | Integer | จำเป็น | ประเภทของรหัสยืนยัน ช่วง [1,7] 1-ตัวเลข/2-ตัวอักษรเล็ก/4-ตัวอักษรใหญ่ สามารถรวมกันได้ (เช่น 3 หมายถึงตัวเลข + ตัวอักษรเล็ก) |
verify_code_config.verify_code_len | Integer | จำเป็น | ความยาวของรหัสยืนยัน ช่วง [4,10] |
verify_code_config.verify_code_ttl | Integer | จำเป็น | ระยะเวลาความถูกต้องของรหัสยืนยัน เป็นนาที ช่วง [1,10] เมื่อกลยุทธ์รวมถึง WhatsApp ค่าได้เฉพาะ 1, 5 หรือ 10 |
whatsapp_config | Object | จำเป็นตามเงื่อนไข | การตั้งค่ากลยุทธ์ WhatsApp จำเป็นเมื่อกลยุทธ์การส่งรวมถึง WhatsApp |
whatsapp_config.template_type | Integer | จำเป็น | ประเภทเทมเพลต WhatsApp ปัจจุบันรองรับเฉพาะเทมเพลตเริ่มต้น ค่า 1 |
whatsapp_config.template_default_config | Object | จำเป็นตามเงื่อนไข | การตั้งค่าเทมเพลตเริ่มต้น WhatsApp จำเป็นสำหรับประเภทเทมเพลตเริ่มต้น |
sms_config | Object | จำเป็นตามเงื่อนไข | การตั้งค่ากลยุทธ์ SMS จำเป็นเมื่อกลยุทธ์การส่งรวมถึง SMS |
sms_config.template_type | Integer | จำเป็น | ประเภทเทมเพลต SMS 1-เทมเพลตเริ่มต้น/2-เทมเพลตที่กำหนดเอง |
sms_config.template_default_config | Object | จำเป็นตามเงื่อนไข | การตั้งค่าเทมเพลตเริ่มต้น SMS จำเป็นสำหรับประเภทเทมเพลตเริ่มต้น |
sms_config.template_custom_config | Object | จำเป็นตามเงื่อนไข | การตั้งค่าเทมเพลตที่กำหนดเอง SMS จำเป็นสำหรับประเภทเทมเพลตที่กำหนดเอง |
sms_config.template_custom_config.custom_sub_type | String | จำเป็น | ประเภทเทมเพลตที่กำหนดเอง authentication-รหัสยืนยัน/marketing-การตลาด/utility-การแจ้งเตือน |
sms_config.template_custom_config.custom_content | String | จำเป็น | เนื้อหาเทมเพลตที่กำหนดเอง สำหรับประเภท authentication ต้องรวมตัวแปร {{code}} |
sms_config.template_custom_config.custom_country_codes | String | ตัวเลือก | รหัสประเทศ/ภูมิภาคเป้าหมาย แยกด้วยเครื่องหมายจุลภาค ใช้เป็นข้อมูลอ้างอิงระหว่างการตรวจสอบเทมเพลต |
voice_config | Object | จำเป็นตามเงื่อนไข | การตั้งค่ากลยุทธ์เสียง จำเป็นเมื่อกลยุทธ์การส่งรวมถึงเสียง |
voice_config.template_type | Integer | จำเป็น | ประเภทเทมเพลตเสียง ปัจจุบันรองรับเฉพาะเทมเพลตเริ่มต้น ค่า 1 |
voice_config.template_default_config | Object | จำเป็นตามเงื่อนไข | การตั้งค่าเทมเพลตเริ่มต้นเสียง จำเป็นสำหรับประเภทเทมเพลตเริ่มต้น |
email_config | Object | จำเป็นตามเงื่อนไข | การตั้งค่ากลยุทธ์อีเมล จำเป็นเมื่อกลยุทธ์การส่งรวมถึงอีเมล |
email_config.template_name | String | จำเป็น | ชื่อเทมเพลตอีเมล |
email_config.template_custom_configs | Array | จำเป็นตามเงื่อนไข | การตั้งค่าเทมเพลตที่กำหนดเองอีเมล จำเป็นสำหรับประเภทเทมเพลตที่กำหนดเอง รองรับการตั้งค่าหลายภาษา |
email_config.template_custom_configs.language | String | จำเป็น | ภาษา ค่า default เป็นค่าเริ่มต้น เนื้อหาเทมเพลตสามารถจับคู่ตามพารามิเตอร์ภาษาในระหว่างการส่ง |
email_config.template_custom_configs.pre_from_name | String | ตัวเลือก | ชื่อผู้ส่งที่ตั้งไว้ล่วงหน้า |
email_config.template_custom_configs.pre_from_mail | String | จำเป็น | อีเมลผู้ส่งที่ตั้งไว้ล่วงหน้า |
email_config.template_custom_configs.pre_subject | String | จำเป็น | หัวข้ออีเมลที่ตั้งไว้ล่วงหน้า |
email_config.template_custom_configs.template_content | String | จำเป็น | เนื้อหาอีเมล รองรับ HTML ตัวแปรต้องอยู่ในวงเล็บปีกกา {{ }} |
email_config.template_custom_configs.pre_param_map | Object | ตัวเลือก | ค่าเริ่มต้นสำหรับตัวแปรในเนื้อหาอีเมล ประกาศเป็นคู่คีย์-ค่า ค่าเป็นสตริง |
pwa_config | Object | ตัวเลือก | การตั้งค่าที่เกี่ยวข้องกับ PWA เป็นตัวเลือก |
pwa_config.pwa_platform | String | ตัวเลือก | แพลตฟอร์ม PWA ที่ใช้ สำหรับค่าที่เฉพาะเจาะจง ติดต่อฝ่ายสนับสนุนทางเทคนิค |
pwa_config.pwa_code | String | ตัวเลือก | รหัสในแพลตฟอร์ม PWA ที่ใช้ |
พารามิเตอร์การตอบกลับ
ฟิลด์ | ประเภท | ตัวเลือก | คำอธิบาย |
---|---|---|---|
code | Integer | จำเป็น | รหัสข้อผิดพลาด 0 หมายถึงสำเร็จ อื่นๆ หมายถึงล้มเหลว |
message | String | จำเป็น | รหัสยืนยันที่ต้องตรวจสอบ |
การตอบกลับสำเร็จ
{
"code": 0,
"message": "success"
}
การตอบกลับล้มเหลว
{
"code": 3003,
"message": "not contains any channel config"
}
รหัสข้อผิดพลาด
รหัสข้อผิดพลาด | HTTP Code | คำอธิบาย |
---|---|---|
1000 | 500 | ข้อผิดพลาดภายใน |
2001 | 401 | การยืนยันตัวตนล้มเหลว โทเค็นที่ให้มาไม่ถูกต้อง |
2002 | 401 | การยืนยันตัวตนล้มเหลว โทเค็นหมดอายุหรือถูกปิดใช้งาน |
2004 | 403 | ไม่มีสิทธิ์เรียกใช้ API นี้ |
3001 | 400 | รูปแบบพารามิเตอร์คำขอไม่ถูกต้อง ตรวจสอบว่าตรงกับรูปแบบ JSON หรือไม่ |
3002 | 400 | พารามิเตอร์คำขอไม่ถูกต้อง ตรวจสอบว่าตรงกับข้อกำหนดหรือไม่ |
3003 | 400 | ข้อผิดพลาดระดับธุรกิจของพารามิเตอร์ ตรวจสอบฟิลด์ข้อความสำหรับรายละเอียด |
ลบเทมเพลต
Endpoint
DELETE /v1/template-configs/{templateId}
การยืนยันตัวตน
ใช้ HTTP Basic Authentication โดยเพิ่ม Authorization ใน HTTP Header:
Authorization: Basic ${base64_auth_string}
base64_auth_string ถูกสร้างขึ้นดังนี้: base64(dev_key:dev_secret)
ตัวอย่างคำขอ
Header ของคำขอ
DELETE /v1/template-configs/{templateId} HTTP/1.1
Authorization: Basic amlndWFuZ2RldjpkZXZfc2VjcmV0
เนื้อหาของคำขอ
ไม่มี
พารามิเตอร์ของคำขอ
{templateId}
ใน URL แทนรหัสเทมเพลตที่จะลบ ซึ่งกำหนดโดยผู้เรียกเมื่อสร้างเทมเพลต
พารามิเตอร์การตอบกลับ
ฟิลด์ | ประเภท | ตัวเลือก | คำอธิบาย |
---|---|---|---|
code | Integer | จำเป็น | รหัสข้อผิดพลาด 0 หมายถึงสำเร็จ อื่นๆ หมายถึงล้มเหลว |
message | String | จำเป็น | รหัสยืนยันที่ต้องตรวจสอบ |
การตอบกลับสำเร็จ
{
"code": 0,
"message": "success"
}
การตอบกลับล้มเหลว
{
"code": 4001,
"message": "config not exist"
}
รหัสข้อผิดพลาด
รหัสข้อผิดพลาด | HTTP Code | คำอธิบาย |
---|---|---|
1000 | 500 | ข้อผิดพลาดภายใน |
2001 | 401 | การยืนยันตัวตนล้มเหลว โทเค็นที่ให้มาไม่ถูกต้อง |
2002 | 401 | การยืนยันตัวตนล้มเหลว โทเค็นหมดอายุหรือถูกปิดใช้งาน |
2004 | 403 | ไม่มีสิทธิ์เรียกใช้ API นี้ |
3001 | 400 | รูปแบบพารามิเตอร์คำขอไม่ถูกต้อง ตรวจสอบว่าตรงกับรูปแบบ JSON หรือไม่ |
3002 | 400 | พารามิเตอร์คำขอไม่ถูกต้อง ตรวจสอบว่าตรงกับข้อกำหนดหรือไม่ |
4001 | 400 | เทมเพลตไม่มีอยู่ |
รับรายการแม่แบบทั้งหมด
ปัจจุบัน API นี้ไม่รองรับการแบ่งหน้าและจะส่งคืนรายการแม่แบบทั้งหมดแบบย่อ โดยส่วนใหญ่จะไม่รวมเนื้อหาเฉพาะ หากต้องการเนื้อหาโดยละเอียด โปรดใช้ API รายละเอียด
Endpoint
GET /v1/template-configs
การยืนยันตัวตน
ใช้ HTTP Basic Authentication เพิ่มส่วนหัว Authorization ใน HTTP Header:
Authorization: Basic ${base64_auth_string}
base64_auth_string
ข้างต้นถูกสร้างขึ้นโดยใช้อัลกอริทึม: base64(dev_key:dev_secret)
ตัวอย่างคำขอ
ส่วนหัวของคำขอ
GET /v1/template-configs HTTP/1.1
Authorization: Basic amlndWFuZ2RldjpkZXZfc2VjcmV0
เนื้อหาคำขอ
ไม่มี
พารามิเตอร์คำขอ
ไม่มี
การตอบกลับที่สำเร็จ
[{
"template_id": "test-template-1", // รหัสแม่แบบที่กำหนดเอง ไม่ซ้ำกันภายในแอปพลิเคชัน
"description": "Test Template 1", // คำอธิบายของแม่แบบ
"send_channel_strategy": "whatsapp|sms", // กลยุทธ์การส่งของแม่แบบ รองรับ whatsapp/sms/voice/email กลยุทธ์ที่รวมกันใช้ตัวอักษร "|" เพื่อระบุ fallback
"brand_name": "Brand Name", // ชื่อแบรนด์ ใช้เป็นลายเซ็นในเนื้อหาแม่แบบสำหรับบางประเทศ/ภูมิภาค (เช่น จำเป็นสำหรับช่องทาง SMS ในบางประเทศ/ภูมิภาค)
"verify_code_config": { // การกำหนดค่ารหัสยืนยัน ส่งคืนเมื่อแม่แบบมีประเภทของรหัสยืนยัน
"verify_code_type": 1, // ประเภทของรหัสยืนยัน ช่วง [1,7]
"verify_code_len": 6, // ความยาวของรหัสยืนยัน ช่วง [4,10]
"verify_code_ttl": 1 // ระยะเวลาความถูกต้องของรหัสยืนยัน ช่วง [1,10] หมายเหตุ: เมื่อกลยุทธ์รวมถึง whatsapp ค่าได้เพียง 1, 5 หรือ 10
},
"whatsapp_config": { // การกำหนดค่าสำหรับกลยุทธ์ whatsapp ส่งคืนเมื่อกลยุทธ์การส่งรวมถึง whatsapp
"template_type": 1 // ประเภทแม่แบบ whatsapp ปัจจุบันรองรับเฉพาะแม่แบบเริ่มต้น ค่าแบบคงที่คือ 1
},
"sms_config": { // การกำหนดค่าสำหรับกลยุทธ์ SMS ส่งคืนเมื่อกลยุทธ์การส่งรวมถึง SMS
"template_type": 2, // ประเภทแม่แบบ SMS ค่า: 1-แม่แบบเริ่มต้น/2-แม่แบบกำหนดเอง
"template_parts": 1 // ส่วนการคำนวณค่าบริการสำหรับแม่แบบ SMS หากแม่แบบยาวเกินไป ราคาที่เฉพาะเจาะจง = ส่วนค่าบริการ * ราคาต่อหน่วย
},
"voice_config": { // การกำหนดค่าสำหรับกลยุทธ์เสียง ส่งคืนเมื่อกลยุทธ์การส่งรวมถึงเสียง
"template_type": 1 // ประเภทแม่แบบเสียง ปัจจุบันรองรับเฉพาะแม่แบบเริ่มต้น ค่าแบบคงที่คือ 1
},
"email_config": { // การกำหนดค่าสำหรับกลยุทธ์อีเมล ส่งคืนเมื่อกลยุทธ์การส่งรวมถึงอีเมล
"template_name": "Email Template Name" // ชื่อแม่แบบอีเมล
},
"pwa_config": { // การกำหนดค่าที่เกี่ยวข้องกับ PWA ส่งคืนเมื่อมีการกำหนดค่า PWA
"pwa_platform": "xx", // แพลตฟอร์ม PWA ที่ใช้
"pwa_code": "xx" // รหัสที่ใช้ในแพลตฟอร์ม PWA
},
"created_time": 1234567890, // เวลาสร้างแม่แบบในรูปแบบ timestamp แม่นยำถึงวินาที
"status": 1, // สถานะแม่แบบ ค่า: 1-รอการตรวจสอบ/2-อนุมัติ/3-ปฏิเสธ
"audit_remark": "xx" // หมายเหตุการตรวจสอบ โดยทั่วไปใช้ดูเหตุผลการปฏิเสธเมื่อการตรวจสอบถูกปฏิเสธ
},...] // หมายเหตุ: นี่คืออาร์เรย์ของอ็อบเจ็กต์
การตอบกลับที่ล้มเหลว
{
"code": 4001,
"message": "config not exist"
}
รหัสข้อผิดพลาด
รหัสข้อผิดพลาด | รหัส HTTP | คำอธิบาย |
---|---|---|
1000 | 500 | ข้อผิดพลาดภายใน |
2001 | 401 | การยืนยันตัวตนล้มเหลว ให้ token ไม่ถูกต้อง |
2002 | 401 | การยืนยันตัวตนล้มเหลว token หมดอายุหรือถูกปิดใช้งาน |
2004 | 403 | ไม่มีสิทธิ์ในการเรียกใช้ API นี้ |
4001 | 400 | แม่แบบไม่อยู่ |
รับรายละเอียดแม่แบบ
Endpoint
GET /v1/template-configs/{templateId}
การยืนยันตัวตน
ใช้ HTTP Basic Authentication เพิ่มส่วนหัว Authorization ใน HTTP Header:
Authorization: Basic ${base64_auth_string}
base64_auth_string
ข้างต้นถูกสร้างขึ้นโดยใช้อัลกอริทึม: base64(dev_key:dev_secret)
ตัวอย่างคำขอ
ส่วนหัวของคำขอ
GET /v1/template-configs/custom-template-id HTTP/1.1
Authorization: Basic amlndWFuZ2RldjpkZXZfc2VjcmV0
เนื้อหาคำขอ
ไม่มี
พารามิเตอร์คำขอ
{templateId}
ใน URL แทนรหัสแม่แบบที่จะดึงข้อมูล ซึ่งถูกกำหนดโดยผู้เรียกเมื่อสร้างแม่แบบ
การตอบกลับที่สำเร็จ
{
"template_id": "test-template-1", // รหัสแม่แบบที่กำหนดเอง ไม่ซ้ำกันภายในแอปพลิเคชัน
"description": "Test Template 1", // คำอธิบายของแม่แบบ
"send_channel_strategy": "whatsapp|sms", // กลยุทธ์การส่งของแม่แบบ รองรับ whatsapp/sms/voice/email กลยุทธ์ที่รวมกันใช้ตัวอักษร "|" เพื่อระบุ fallback
"brand_name": "Brand Name", // ชื่อแบรนด์ ใช้เป็นลายเซ็นในเนื้อหาแม่แบบสำหรับบางประเทศ/ภูมิภาค (เช่น จำเป็นสำหรับช่องทาง SMS ในบางประเทศ/ภูมิภาค)
"verify_code_config": { // การกำหนดค่ารหัสยืนยัน ส่งคืนเมื่อแม่แบบมีประเภทของรหัสยืนยัน
"verify_code_type": 1, // ประเภทของรหัสยืนยัน ช่วง [1,7]
"verify_code_len": 6, // ความยาวของรหัสยืนยัน ช่วง [4,10]
"verify_code_ttl": 1 // ระยะเวลาความถูกต้องของรหัสยืนยัน ช่วง [1,10] หมายเหตุ: เมื่อกลยุทธ์รวมถึง whatsapp ค่าได้เพียง 1, 5 หรือ 10
},
"whatsapp_config": { // การกำหนดค่าสำหรับกลยุทธ์ whatsapp ส่งคืนเมื่อกลยุทธ์การส่งรวมถึง whatsapp
"template_type": 1 // ประเภทแม่แบบ whatsapp ปัจจุบันรองรับเฉพาะแม่แบบเริ่มต้น ค่าแบบคงที่คือ 1
},
"sms_config": { // การกำหนดค่าสำหรับกลยุทธ์ SMS ส่งคืนเมื่อกลยุทธ์การส่งรวมถึง SMS
"template_type": 2, // ประเภทแม่แบบ SMS ค่า: 1-แม่แบบเริ่มต้น/2-แม่แบบกำหนดเอง
"template_parts": 1, // ส่วนการคำนวณค่าบริการสำหรับแม่แบบ SMS หากแม่แบบยาวเกินไป ราคาที่เฉพาะเจาะจง = ส่วนค่าบริการ * ราคาต่อหน่วย
"template_custom_config": { // การกำหนดค่าแม่แบบ SMS แบบกำหนดเอง ใช้ได้เมื่อประเภทแม่แบบ SMS เป็นแบบกำหนดเอง
"custom_sub_type": "authentication", // ประเภทแม่แบบกำหนดเอง ค่า: authentication-รหัสยืนยัน/marketing-การตลาด/utility-การแจ้งเตือน
"custom_content": "xxx" // เนื้อหาแม่แบบกำหนดเอง หมายเหตุ: หากประเภทย่อยคือ authentication (รหัสยืนยัน) จะต้องมีตัวแปร {{code}}
}
},
"voice_config": { // การกำหนดค่าสำหรับกลยุทธ์เสียง ส่งคืนเมื่อกลยุทธ์การส่งรวมถึงเสียง
"template_type": 1 // ประเภทแม่แบบเสียง ปัจจุบันรองรับเฉพาะแม่แบบเริ่มต้น ค่าแบบคงที่คือ 1
},
"email_config": { // การกำหนดค่าสำหรับกลยุทธ์อีเมล ส่งคืนเมื่อกลยุทธ์การส่งรวมถึงอีเมล
"template_name": "Email Template Name", // ชื่อแม่แบบอีเมล
"template_custom_configs": [{ // การกำหนดค่าแม่แบบอีเมลแบบกำหนดเอง ใช้ได้เมื่อประเภทแม่แบบอีเมลเป็นแบบกำหนดเอง หมายเหตุ: นี่คืออาร์เรย์ของอ็อบเจ็กต์ โดยหลักแยกตามภาษาเพื่อการกำหนดค่าหลายภาษา
"language": "default", // ภาษา "default" คือค่าเริ่มต้น เมื่อส่งข้อความสามารถจับคู่เนื้อหาแม่แบบต่างๆ ตามพารามิเตอร์ภาษา
"pre_from_name": "test", // ชื่อผู้ส่งที่ตั้งไว้ล่วงหน้า
"pre_from_mail": "test@test.com", // อีเมลผู้ส่งที่ตั้งไว้ล่วงหน้า
"pre_subject": "test", // หัวข้ออีเมลที่ตั้งไว้ล่วงหน้า
"template_content": "เนื้อหาแม่แบบอีเมลที่ตั้งไว้ล่วงหน้า จำเป็น ตัวแปรที่กำหนดเองเช่น {{self}} รหัสยืนยันคือ {{code}}", // เนื้อหาอีเมล รองรับ HTML ตัวแปรต้องอยู่ในวงเล็บปีกกา {{}} สองชั้น
"pre_param_map": { // ค่าเริ่มต้นสำหรับตัวแปรในเนื้อหาอีเมล หากไม่มีการระบุค่าตัวแปรระหว่างการส่ง ค่าเริ่มต้นด้านล่างจะใช้แทนตัวแปร ประกาศเป็นคู่คีย์-ค่า
"self": "นี่คือค่าดีฟอลต์สำหรับตัวแปร self"
}
}]
},
"pwa_config": { // การกำหนดค่าที่เกี่ยวข้องกับ PWA ส่งคืนเมื่อมีการกำหนดค่า PWA
"pwa_platform": "xx", // แพลตฟอร์ม PWA ที่ใช้
"pwa_code": "xx" // รหัสที่ใช้ในแพลตฟอร์ม PWA
},
"created_time": 1234567890, // เวลาสร้างแม่แบบในรูปแบบ timestamp แม่นยำถึงวินาที
"status": 1, // สถานะแม่แบบ ค่า: 1-รอการตรวจสอบ/2-อนุมัติ/3-ปฏิเสธ
"audit_remark": "xx" // หมายเหตุการตรวจสอบ โดยทั่วไปใช้ดูเหตุผลการปฏิเสธเมื่อการตรวจสอบถูกปฏิเสธ
}
การตอบกลับที่ล้มเหลว
{
"code": 4001,
"message": "config not exist"
}
รหัสข้อผิดพลาด
รหัสข้อผิดพลาด | รหัส HTTP | คำอธิบาย |
---|---|---|
1000 | 500 | ข้อผิดพลาดภายใน |
2001 | 401 | การยืนยันตัวตนล้มเหลว ให้ token ไม่ถูกต้อง |
2002 | 401 | การยืนยันตัวตนล้มเหลว token หมดอายุหรือถูกปิดใช้งาน |
2004 | 403 | ไม่มีสิทธิ์ในการเรียกใช้ API นี้ |
4001 | 400 | แม่แบบไม่อยู่ |