เทมเพลต&รหัสผู้ส่ง
เอกสารนี้อธิบายเกี่ยวกับ RESTful API ที่เกี่ยวข้องกับการกำหนดค่ารูปแบบและการกำหนดค่าลายเซ็น
ข้อมูลพื้นฐาน
- โดเมน:
https://smsapi.engagelab.com - วิธีการยืนยันตัวตน: Basic Authentication (การเข้ารหัส Base64)
- รูปแบบ:
Authorization: Basic base64(apikey:apisecret) - ตัวอย่าง: ทำการเข้ารหัส Base64 บน
apikey:apisecretจากนั้นเพิ่มAuthorization: Basic <encoded string>ลงในส่วนหัวของคำขอ
- รูปแบบ:
- Content-Type:
application/json
รูปแบบการตอบกลับ
การตอบกลับที่สำเร็จ
การตอบกลับที่สำเร็จจะคืนค่าอ็อบเจ็กต์หรืออาร์เรย์ของข้อมูลโดยตรง:
{
"template_id": "123456789",
"template_name": "Example Template",
...
}
หรือการตอบกลับแบบรายการ:
[
{
"template_id": "123456789",
"template_name": "Example Template",
...
}
]
การตอบกลับข้อผิดพลาด
รูปแบบการตอบกลับข้อผิดพลาด:
{
"code": 400,
"message": "Error message description"
}
อินเทอร์เฟซการกำหนดค่ารูปแบบ
1. รับรายการการกำหนดค่ารูปแบบ
คำอธิบายอินเทอร์เฟซ: ดึงรายการการกำหนดค่ารูปแบบทั้งหมดภายใต้ธุรกิจปัจจุบัน
ข้อมูลคำขอ:
- วิธีการ:
GET - เส้นทาง:
/v1/template-configs - การยืนยันตัวตน: จำเป็น
พารามิเตอร์คำขอ: ไม่มี
ตัวอย่างการตอบกลับ:
[
{
"template_id": "123456789",
"template_name": "Order Notification Template",
"template_type": "utility",
"template_content": "Your order {order_no} has been shipped and is expected to arrive by {delivery_time}.",
"country_codes": "CN,US",
"status": 2,
"sign_id": "987654321",
"sign_name": "Company Name",
"sign_position": 2,
"sign_status": 2,
"audit_remark": "",
"created_time": 1699000000,
"updated_time": 1699000000
}
]
คำอธิบายฟิลด์การตอบกลับ:
| ชื่อฟิลด์ | ประเภท | คำอธิบาย |
|---|---|---|
| template_id | string | รหัสรูปแบบ |
| template_name | string | ชื่อรูปแบบ |
| template_type | string | ประเภทของรูปแบบ: utility (การแจ้งเตือน), marketing (การตลาด) |
| template_content | string | เนื้อหารูปแบบ |
| country_codes | string | รหัสประเทศที่ส่งหลัก แยกด้วยเครื่องหมายจุลภาค |
| status | int | สถานะ: 1-รอการตรวจสอบ, 2-อนุมัติ, 3-ปฏิเสธ |
| sign_id | string | รหัสลายเซ็น (ไม่บังคับ) |
| sign_name | string | ชื่อลายเซ็น (ไม่บังคับ) |
| sign_position | int | ตำแหน่งลายเซ็น: 0-ไม่มี, 1-นำหน้า, 2-ต่อท้าย (ไม่บังคับ) |
| sign_status | int | สถานะลายเซ็น (ไม่บังคับ) |
| audit_remark | string | หมายเหตุการตรวจสอบ |
| created_time | int64 | เวลาที่สร้าง (Unix timestamp) |
| updated_time | int64 | เวลาที่อัปเดต (Unix timestamp) |
2. รับรายละเอียดการกำหนดค่ารูปแบบ
คำอธิบายอินเทอร์เฟซ: ดึงข้อมูลรายละเอียดเกี่ยวกับการกำหนดค่ารูปแบบโดยใช้รหัสรูปแบบ
ข้อมูลคำขอ:
- วิธีการ:
GET - เส้นทาง:
/v1/template-configs/:templateId - การยืนยันตัวตน: จำเป็น
พารามิเตอร์เส้นทาง:
| ชื่อพารามิเตอร์ | ประเภท | จำเป็น | คำอธิบาย |
|---|---|---|---|
| templateId | string | ใช่ | รหัสรูปแบบ |
ตัวอย่างการตอบกลับ:
{
"template_id": "123456789",
"template_name": "Order Notification Template",
"template_type": "utility",
"template_content": "Your order {order_no} has been shipped and is expected to arrive by {delivery_time}.",
"country_codes": "CN,US",
"status": 2,
"sign_id": "987654321",
"sign_name": "Company Name",
"sign_position": 2,
"sign_status": 2,
"audit_remark": "",
"created_time": 1699000000,
"updated_time": 1699000000
}
การตอบกลับข้อผิดพลาด:
400: รูปแบบรหัสรูปแบบผิดพลาดหรือไม่มีรูปแบบ500: ข้อผิดพลาดภายในเซิร์ฟเวอร์
3. สร้างการกำหนดค่ารูปแบบ
คำอธิบายอินเทอร์เฟซ: สร้างการกำหนดค่ารูปแบบใหม่
ข้อมูลคำขอ:
- วิธีการ:
POST - เส้นทาง:
/v1/template-configs - การยืนยันตัวตน: จำเป็น
เนื้อหาคำขอ:
{
"template_name": "Order Notification Template",
"template_type": "utility",
"template_content": "Your order {order_no} has been shipped and is expected to arrive by {delivery_time}.",
"country_codes": "CN,US",
"add_signature": true,
"sign_id": "987654321",
"sign_position": 2
}
คำอธิบายฟิลด์คำขอ:
| ชื่อฟิลด์ | ประเภท | จำเป็น | คำอธิบาย |
|---|---|---|---|
| template_name | string | ใช่ | ชื่อรูปแบบ สูงสุด 255 ตัวอักษร |
| template_type | string | ใช่ | ประเภทของรูปแบบ: utility (การแจ้งเตือน), marketing (การตลาด) |
| template_content | string | ใช่ | เนื้อหารูปแบบ ห้ามมี: 【, 】, ,, 测试, test, [, ] |
| country_codes | string | ใช่ | รหัสประเทศที่ส่งหลัก แยกด้วยเครื่องหมายจุลภาค |
| add_signature | bool | ไม่ | เพิ่มลายเซ็นหรือไม่ ค่าเริ่มต้นคือ false |
| sign_id | string | จำเป็นเมื่อเพิ่มลายเซ็น | รหัสลายเซ็น |
| sign_position | int | จำเป็นเมื่อเพิ่มลายเซ็น | ตำแหน่งลายเซ็น: 1-นำหน้า, 2-ต่อท้าย |
ตัวอย่างการตอบกลับ:
{
"code": 0,
"message": "success"
}
การตอบกลับข้อผิดพลาด:
400: รูปแบบพารามิเตอร์ผิดพลาด การตรวจสอบพารามิเตอร์ล้มเหลว ไม่มีการกำหนดค่าลายเซ็น หรือสถานะลายเซ็นไม่ได้รับการอนุมัติ500: ข้อผิดพลาดภายในเซิร์ฟเวอร์
กฎทางธุรกิจ:
- สถานะของรูปแบบหลังจากการสร้างคือ "รอการตรวจสอบ" (status=1)
- หากเพิ่มลายเซ็น ลายเซ็นต้องอยู่ในสถานะที่ได้รับการอนุมัติ
4. อัปเดตการกำหนดค่ารูปแบบ
คำอธิบายอินเทอร์เฟซ: อัปเดตการกำหนดค่ารูปแบบที่มีอยู่
ข้อมูลคำขอ:
- วิธีการ:
PUT - เส้นทาง:
/v1/template-configs/:templateId - การยืนยันตัวตน: จำเป็น
พารามิเตอร์เส้นทาง:
| ชื่อพารามิเตอร์ | ประเภท | จำเป็น | คำอธิบาย |
|---|---|---|---|
| templateId | string | ใช่ | รหัสรูปแบบ |
เนื้อหาคำขอ: เหมือนกับอินเทอร์เฟซการสร้าง ทุกฟิลด์จำเป็น
ตัวอย่างการตอบกลับ:
{
"code": 0,
"message": "success"
}
การตอบกลับข้อผิดพลาด:
400: รูปแบบพารามิเตอร์ผิดพลาด ไม่มีรูปแบบ สถานะรูปแบบอยู่ระหว่างรอการตรวจสอบและไม่สามารถอัปเดตได้ มีแผนที่รอดำเนินการหรือกำลังดำเนินการที่ไม่สามารถอัปเดตได้ ไม่มีการกำหนดค่าลายเซ็น หรือสถานะลายเซ็นไม่ได้รับการอนุมัติ500: ข้อผิดพลาดภายในเซิร์ฟเวอร์
กฎทางธุรกิจ:
- รูปแบบที่อยู่ในสถานะ "รอการตรวจสอบ" ไม่สามารถอัปเดตได้
- หากมีแผนข้อความที่รอดำเนินการหรือกำลังดำเนินการที่ใช้รูปแบบนั้น จะไม่สามารถอัปเดตได้
- หลังจากการอัปเดต สถานะของรูปแบบจะกลับไปเป็น "รอการตรวจสอบ" (status=1)
5. ลบการกำหนดค่ารูปแบบ
คำอธิบายอินเทอร์เฟซ: ลบการกำหนดค่ารูปแบบที่ระบุ
ข้อมูลคำขอ:
- วิธีการ:
DELETE - เส้นทาง:
/v1/template-configs/:templateId - การยืนยันตัวตน: จำเป็น
พารามิเตอร์เส้นทาง:
| ชื่อพารามิเตอร์ | ประเภท | จำเป็น | คำอธิบาย |
|---|---|---|---|
| templateId | string | ใช่ | รหัสรูปแบบ |
ตัวอย่างการตอบกลับ:
{
"code": 0,
"message": "success"
}
การตอบกลับข้อผิดพลาด:
400: รูปแบบรหัสรูปแบบผิดพลาด ไม่มีรูปแบบ มีแผนที่รอดำเนินการหรือกำลังดำเนินการที่ไม่สามารถลบได้500: ข้อผิดพลาดภายในเซิร์ฟเวอร์
กฎทางธุรกิจ:
- หากมีแผนข้อความที่รอดำเนินการหรือกำลังดำเนินการที่ใช้รูปแบบนั้น จะไม่สามารถลบได้
API การตั้งค่าลายเซ็น
1. รับรายการการตั้งค่าลายเซ็น
คำอธิบาย API: ดึงรายการการตั้งค่าลายเซ็นทั้งหมดภายใต้ธุรกิจปัจจุบัน
ข้อมูลคำขอ:
- วิธี:
GET - เส้นทาง:
/v1/sign-configs - การยืนยันตัวตน: จำเป็น
พารามิเตอร์คำขอ: ไม่มี
ตัวอย่างการตอบกลับ:
[
{
"sign_id": "987654321",
"sign_name": "ชื่อบริษัท",
"status": 2,
"related_template_count": 5,
"audit_remark": "",
"created_time": 1699000000,
"updated_time": 1699000000
}
]
คำอธิบายฟิลด์การตอบกลับ:
| ชื่อฟิลด์ | ประเภท | คำอธิบาย |
|---|---|---|
| sign_id | string | รหัสลายเซ็น |
| sign_name | string | ชื่อลายเซ็น |
| status | int | สถานะ: 1-รอการตรวจสอบ, 2-อนุมัติ, 3-ปฏิเสธ |
| related_template_count | int64 | จำนวนเทมเพลตที่เกี่ยวข้อง |
| audit_remark | string | หมายเหตุการตรวจสอบ |
| created_time | int64 | เวลาสร้าง (Unix Timestamp) |
| updated_time | int64 | เวลาอัปเดต (Unix Timestamp) |
2. รับรายละเอียดการตั้งค่าลายเซ็น
คำอธิบาย API: ดึงข้อมูลรายละเอียดของการตั้งค่าลายเซ็นตามรหัสลายเซ็น
ข้อมูลคำขอ:
- วิธี:
GET - เส้นทาง:
/v1/sign-configs/:signId - การยืนยันตัวตน: จำเป็น
พารามิเตอร์เส้นทาง:
| ชื่อพารามิเตอร์ | ประเภท | จำเป็น | คำอธิบาย |
|---|---|---|---|
| signId | string | ใช่ | รหัสลายเซ็น |
ตัวอย่างการตอบกลับ:
{
"sign_id": "987654321",
"sign_name": "ชื่อบริษัท",
"status": 2,
"related_template_count": 5,
"audit_remark": "",
"created_time": 1699000000,
"updated_time": 1699000000
}
การตอบกลับข้อผิดพลาด:
400: รูปแบบรหัสลายเซ็นไม่ถูกต้อง, ลายเซ็นไม่มีอยู่, หรือลายเซ็นไม่เป็นของธุรกิจปัจจุบัน500: ข้อผิดพลาดภายในเซิร์ฟเวอร์
3. สร้างการตั้งค่าลายเซ็น
คำอธิบาย API: สร้างการตั้งค่าลายเซ็นใหม่
ข้อมูลคำขอ:
- วิธี:
POST - เส้นทาง:
/v1/sign-configs - การยืนยันตัวตน: จำเป็น
เนื้อหาคำขอ:
{
"sign_name": "ชื่อบริษัท"
}
คำอธิบายฟิลด์คำขอ:
| ชื่อฟิลด์ | ประเภท | จำเป็น | คำอธิบาย |
|---|---|---|---|
| sign_name | string | ใช่ | ชื่อลายเซ็น, ความยาว 2-60 ตัวอักษร, ห้ามมี: 【, 】, [, ] |
ตัวอย่างการตอบกลับ:
{
"code": 0,
"message": "success"
}
การตอบกลับข้อผิดพลาด:
400: รูปแบบพารามิเตอร์ผิดพลาด, การตรวจสอบพารามิเตอร์ล้มเหลว, หรือชื่อลายเซ็นมีอยู่แล้ว500: ข้อผิดพลาดภายในเซิร์ฟเวอร์
กฎทางธุรกิจ:
- สถานะของลายเซ็นที่สร้างใหม่คือ "รอการตรวจสอบ" (status=1)
- ชื่อลายเซ็นภายใต้ธุรกิจเดียวกันต้องไม่ซ้ำกัน
4. อัปเดตการตั้งค่าลายเซ็น
คำอธิบาย API: อัปเดตการตั้งค่าลายเซ็นที่มีอยู่
ข้อมูลคำขอ:
- วิธี:
PUT - เส้นทาง:
/v1/sign-configs/:signId - การยืนยันตัวตน: จำเป็น
พารามิเตอร์เส้นทาง:
| ชื่อพารามิเตอร์ | ประเภท | จำเป็น | คำอธิบาย |
|---|---|---|---|
| signId | string | ใช่ | รหัสลายเซ็น |
เนื้อหาคำขอ: เหมือนกับ API การสร้าง
ตัวอย่างการตอบกลับ:
{
"code": 0,
"message": "success"
}
การตอบกลับข้อผิดพลาด:
400: รูปแบบพารามิเตอร์ผิดพลาด, ลายเซ็นไม่มีอยู่, ลายเซ็นไม่เป็นของธุรกิจปัจจุบัน, สถานะลายเซ็นอยู่ระหว่างรอการตรวจสอบและไม่สามารถอัปเดตได้, ชื่อลายเซ็นมีอยู่แล้ว, หรือมีแผนที่รอดำเนินการหรือกำลังดำเนินการที่ไม่สามารถอัปเดตได้500: ข้อผิดพลาดภายในเซิร์ฟเวอร์
กฎทางธุรกิจ:
- ลายเซ็นที่อยู่ในสถานะรอการตรวจสอบไม่สามารถอัปเดตได้
- หากมีแผนข้อความที่รอดำเนินการหรือกำลังดำเนินการที่ใช้ลายเซ็นนั้น จะไม่สามารถอัปเดตได้
- หลังการอัปเดต สถานะลายเซ็นจะกลับไปเป็น "รอการตรวจสอบ" (status=1)
5. ลบการตั้งค่าลายเซ็น
คำอธิบาย API: ลบการตั้งค่าลายเซ็นที่ระบุ
ข้อมูลคำขอ:
- วิธี:
DELETE - เส้นทาง:
/v1/sign-configs/:signId - การยืนยันตัวตน: จำเป็น
พารามิเตอร์เส้นทาง:
| ชื่อพารามิเตอร์ | ประเภท | จำเป็น | คำอธิบาย |
|---|---|---|---|
| signId | string | ใช่ | รหัสลายเซ็น |
ตัวอย่างการตอบกลับ:
{
"code": 0,
"message": "success"
}
การตอบกลับข้อผิดพลาด:
400: รูปแบบรหัสลายเซ็นไม่ถูกต้อง, ลายเซ็นไม่มีอยู่, ลายเซ็นไม่เป็นของธุรกิจปัจจุบัน, หรือมีแผนที่รอดำเนินการหรือกำลังดำเนินการที่ไม่สามารถลบได้500: ข้อผิดพลาดภายในเซิร์ฟเวอร์
กฎทางธุรกิจ:
- หากมีแผนข้อความที่รอดำเนินการหรือกำลังดำเนินการที่ใช้ลายเซ็นนั้น จะไม่สามารถลบได้
คำอธิบายรหัสสถานะ
สถานะการตั้งค่าเทมเพลต (status)
| ค่า | คำอธิบาย |
|---|---|
| 1 | รอการตรวจสอบ |
| 2 | อนุมัติ |
| 3 | ปฏิเสธ |
สถานะการตั้งค่าลายเซ็น (status)
| ค่า | คำอธิบาย |
|---|---|
| 1 | รอการตรวจสอบ |
| 2 | อนุมัติ |
| 3 | ปฏิเสธ |
ตำแหน่งลายเซ็น (sign_position)
| ค่า | คำอธิบาย |
|---|---|
| 0 | ไม่มีลายเซ็น |
| 1 | คำนำหน้า |
| 2 | คำต่อท้าย |
ประเภทเทมเพลต (template_type)
| ค่า | คำอธิบาย |
|---|---|
| utility | การแจ้งเตือน |
| marketing | การตลาด |
คำอธิบายรหัสข้อผิดพลาด
| รหัสข้อผิดพลาด | รหัสสถานะ HTTP | คำอธิบาย |
|---|---|---|
| 0 | 200 | สำเร็จ |
| 400 | 400 | ข้อผิดพลาดของพารามิเตอร์หรือข้อผิดพลาดทางธุรกิจ |
| 500 | 500 | ข้อผิดพลาดภายในเซิร์ฟเวอร์ |
ข้อความข้อผิดพลาดทั่วไป:
invalid templateId: รูปแบบรหัสเทมเพลตไม่ถูกต้องtemplate config not exist: การตั้งค่าเทมเพลตไม่มีอยู่invalid signId: รูปแบบรหัสลายเซ็นไม่ถูกต้องsign config not exist: การตั้งค่าลายเซ็นไม่มีอยู่sign_name already exist: ชื่อลายเซ็นมีอยู่แล้วcan not update pending status template: เทมเพลตที่อยู่ในสถานะรอการตรวจสอบไม่สามารถอัปเดตได้can not update pending status sign: ลายเซ็นที่อยู่ในสถานะรอการตรวจสอบไม่สามารถอัปเดตได้there are pending or running plans using current template, can not update: มีแผนที่รอดำเนินการหรือกำลังดำเนินการที่ใช้เทมเพลตปัจจุบัน ไม่สามารถอัปเดตได้there are pending or running plans using current sign, can not update: มีแผนที่รอดำเนินการหรือกำลังดำเนินการที่ใช้ลายเซ็นปัจจุบัน ไม่สามารถอัปเดตได้sign status is not approved, can not use: สถานะลายเซ็นไม่ได้รับการอนุมัติ ไม่สามารถใช้งานได้
หมายเหตุ
- API ทั้งหมดต้องการการตรวจสอบสิทธิ์ผ่าน middleware
- API ทั้งหมดจะเชื่อมโยง ID ธุรกิจ (businessId) ของผู้ใช้ที่ได้รับการตรวจสอบสิทธิ์โดยอัตโนมัติ
- การสร้างและการอัปเดตสำหรับเทมเพลตและลายเซ็นจะเรียกกระบวนการตรวจสอบ
- หากเทมเพลตหรือลายเซ็นถูกใช้โดยแผนข้อความ จะไม่สามารถอัปเดตหรือลบได้ในขณะที่แผนอยู่ในสถานะรอดำเนินการหรือกำลังดำเนินการ
- เนื้อหาเทมเพลตต้องไม่มีอักขระต้องห้าม:
【,】,,,test,[,] - ชื่อลายเซ็นต้องไม่มีอักขระต้องห้าม:
【,】,[,] - รหัสเทมเพลตและลายเซ็นเป็นสตริงตัวเลข









