การจัดการงาน
ที่อยู่การโทร
| ศูนย์ข้อมูล | URL |
|---|---|
| สิงคโปร์ | https://email.api.engagelab.cc |
| ตุรกี | https://emailapi-tr.engagelab.com |
เมื่อใช้ REST API ให้แน่ใจว่าศูนย์ข้อมูลที่เลือกตรงกับ URL พื้นฐานที่เหมาะสม
POST/v1/marketing/campaigns
สร้างงาน
URL
https://email.api.engagelab.cc/v1/marketing/campaigns
วิธีการร้องขอ HTTP
POST
Content-Type
application/json; charset=utf-8
ส่วนหัวของคำร้อง
| ส่วนหัว | ประเภท | จำเป็น | คำอธิบาย |
|---|---|---|---|
| Authorization | string | true | Basic base64(api_user:api_key) |
พารามิเตอร์ในเนื้อหา
| พารามิเตอร์ | ประเภท | จำเป็น | คำอธิบาย |
|---|---|---|---|
| campaign_type | integer | true | ประเภทงาน 1: งาน A/B, 2: งานปกติ |
| name | string | true | ชื่องาน (สูงสุด 64 ตัวอักษร) |
| to | object[] | true | ผู้รับ ปัจจุบันรองรับความยาวอาร์เรย์ 1. |
| reply_to | string | false | ที่อยู่อีเมลสำหรับตอบกลับ |
| sender_id | string | * | รหัสผู้ส่ง (รองรับเฉพาะงานปกติ) |
| template_invoke_name | string | * | ชื่อการเรียกใช้เทมเพลตอีเมล (รองรับเฉพาะงานปกติ) |
| subject | string | * | หัวข้ออีเมล มีลำดับความสำคัญเหนือหัวข้อที่รวมอยู่ในเทมเพลตอีเมล จำเป็นถ้างาน A/B เป็นการทดสอบเนื้อหา |
| send_time | string | * | เวลาส่ง (รองรับเฉพาะงานปกติ) เช่น 2022-10-19 19:35:20 |
| time_zone | integer | * | ค่าเริ่มต้นคือเขตเวลา +8 |
| attachments | object[] | false | ไฟล์แนบในอีเมล (สูงสุด 10 ไฟล์แนบ) |
| filename | string | false | ชื่อไฟล์แนบ เช่น example.pdf |
| content | string | false | การเข้ารหัส Base64 ของเนื้อหาไฟล์แนบ |
| ab_test | object | * | พารามิเตอร์การตั้งค่าสำหรับงาน A/B (รองรับเฉพาะงาน A/B) |
| google_track | object | false | พารามิเตอร์การตั้งค่า google_track (รองรับเฉพาะงานปกติ) |
| warm_up | object[] | false | พารามิเตอร์การตั้งค่าการส่งแบบ warm-up (รองรับเฉพาะงานปกติ) |
หมายเหตุ:
- ขนาดรวมของไฟล์แนบทั้งหมดต้องไม่เกิน 10MB หมายเหตุ: ไฟล์จะมีขนาดเพิ่มขึ้นเล็กน้อยหลังจากการเข้ารหัส Base64 ขีดจำกัด 10MB หมายถึงขนาดก่อนการเข้ารหัส Base64
พารามิเตอร์ to มีรูปแบบดังนี้:
[
{
"type": "list",
"value": ["all"]
}
]
[
{
"type": "tag",
"value": ["tag1"]
}
]
[
{
"type": "segment",
"value": ["segment1"]
}
]
รูปแบบพารามิเตอร์ ab_test:
เมื่อแคมเปญเป็นงาน A/B พารามิเตอร์ ab_test จำเป็นต้องระบุ
| พารามิเตอร์ | ประเภท | จำเป็น | คำอธิบาย |
|---|---|---|---|
| ab_test | object | true | ข้อมูลการตั้งค่างาน A/B |
| percent | integer | true | การตั้งค่าสัดส่วน ช่วง [1, 100] 20 หมายถึง 20% ของผู้ติดต่อเป็นผู้รับการทดสอบ ส่วนที่เหลือจะส่งตามเงื่อนไขการชนะ |
| win_condition | object | true | เงื่อนไขสำหรับการกำหนดผู้ชนะ A/B |
| time_unit | string | true | หน่วยเวลา: วัน, ชั่วโมง |
| after_time | integer | true | เวลาหลังจากที่คำนวณเงื่อนไขการชนะ ถ้าหน่วยเวลาเป็นชั่วโมง ช่วงคือ [0-23]; ถ้าหน่วยเวลาเป็นวัน ช่วงคือ [0-10] |
| compare | string | true | ฟิลด์เปรียบเทียบ ค่าที่เป็นไปได้: open_percent, click_percent, uni_open_percent, uni_click_percent, delivered_percent |
| template_invoke_names | string[] | * | การทดสอบเทมเพลตอีเมล ค่า template_invoke_name จะถูกละเว้น subject จำเป็นต้องระบุ |
| sender_ids | string[] | * | การทดสอบรหัสผู้ส่ง ค่า sender_id จะถูกละเว้น |
| send_times | string[] | * | การทดสอบเวลาส่ง ค่า send_time จะถูกละเว้น |
| subjects | string[] | * | การทดสอบหัวข้ออีเมล ค่า subject จะถูกละเว้น |
ตัวอย่าง:
// A/B testing, different email subjects
"ab_test": {
"percent": 20,
"win_condition": {
"time_unit": "hour",
"after_time": 18,
"compare": "open_percent"
},
"subjects": []
}
// A/B testing, different email templates
"ab_test": {
"percent": 20,
"win_condition": {
"time_unit": "hour",
"after_time": 18,
"compare": "open_percent"
},
"template_invoke_names": []
}
// A/B testing, different senders
"ab_test": {
"percent": 20,
"win_condition": {
"time_unit": "hour",
"after_time": 18,
"compare": "open_percent"
},
"sender_ids": []
}
// A/B testing, different sending times.
"ab_test": {
"percent": 20,
"win_condition": {
"time_unit": "hour",
"after_time": 18,
"compare": "open_percent"
},
"send_times": []
}
หมายเหตุ:
- การตั้งค่า
ab_testปัจจุบันรองรับเพียงรายการทดสอบเดียว
รูปแบบพารามิเตอร์ google_track:
การตั้งค่าพารามิเตอร์ google_track จะเพิ่มพารามิเตอร์เหล่านี้ลงในลิงก์ในอีเมล ซึ่งจะติดตามการเข้าชมของลูกค้าจากงานไปยังเว็บไซต์ ช่วยให้วิเคราะห์เว็บไซต์ของคุณใน Google Analytics ได้
| พารามิเตอร์ | ประเภท | จำเป็น | คำอธิบาย |
|---|---|---|---|
| google_track | object | false | พารามิเตอร์การตั้งค่า Google track |
| campaign_name | string | false | ชื่อแคมเปญ (สูงสุด 64 ตัวอักษร) |
| campaign_source | string | false | แหล่งที่มา (สูงสุด 64 ตัวอักษร) |
| campaign_medium | string | false | สื่อกลาง (สูงสุด 64 ตัวอักษร) |
| campaign_term | string | false | คำสำคัญ (สูงสุด 64 ตัวอักษร) |
| campaign_content | string | false | เนื้อหา (สูงสุด 64 ตัวอักษร) |
ตัวอย่าง:
"google_track": {
"campaign_name":"",
"campaign_source":"",
"campaign_medium":"",
"campaign_term":"",
"campaign_content":""
}
รูปแบบพารามิเตอร์ warm_up:
การส่งแบบ warm-up ช่วยให้คุณตั้งค่าปริมาณการส่งต่อชั่วโมงหรือวันสำหรับโดเมนที่รับเฉพาะ เพิ่มอัตราการส่ง นอกจากนี้คุณยังสามารถปรับอัตราการส่งตามประสิทธิภาพของอัตราการส่งได้
| พารามิเตอร์ | ประเภท | จำเป็น | คำอธิบาย |
|---|---|---|---|
| warm_up | object[] | false | พารามิเตอร์การตั้งค่าการส่งแบบ warm-up ความยาวสูงสุด 20 |
| domain | string | true | โดเมนที่รับ |
| rate | integer | true | ระดับอัตราการส่ง |
| upgrade_value | float | true | เกณฑ์อัตราการส่งสำหรับการอัปเกรดอัตรา ค่าเป็นทศนิยมใน (0,1]. |
| downgrade_value | float | true | เกณฑ์อัตราการส่งสำหรับการลดอัตรา ค่าเป็นทศนิยมใน (0,1]. |
ตัวอย่าง:
"warm_up": [{
"domain": "gmail.com",
"rate": 1,
"upgrade_value": "0.95",
"downgrade_value": "0.75"
}, {
"domain": "hotmail.com",
"rate": 3,
"upgrade_value": "0.95",
"downgrade_value": "0.75"
}]
ตัวอย่างคำร้อง
สร้างงานปกติ
curl -X POST -H 'Content-Type: application/json; charset=utf-8' -H 'Authorization:Basic YXBpX3VzZXI6YXBpX2tleQ==' -i https://email.api.engagelab.cc/v1/marketing/campaigns --data '{
"campaign_type": 1,
"name": "11.11_leon_api8",
"to":[{
"type": "tag",
"value": ["tag1"]
}],
"sender_id": "53",
"reply_to": "",
"template_invoke_name": "leon2_shanshan",
"subject": "happy new year",
"run_time": "2022-10-26 17:10:20",
"time_zone":"8",
"attachments":[{
"content":"base64 content",
"file_name":"1.jpg"
},{
"content":"base64 content",
"file_name":"2.jpg"
}],
"warm_up": [{
"domain":"gmail.com",
"rate":1,
"upgrade_value":"0.95",
"downgrade_value":"0.75"
},{
"domain":"hotmail.com",
"rate":1,
"upgrade_value":"0.95",
"downgrade_value":"0.75"
}],
"google_track":{
"campaign_name":"",
"campaign_source":"",
"campaign_medium":"",
"campaign_term":"",
"campaign_content":""
}
}
'
สร้างงาน A/B
curl -X POST -H 'Content-Type: application/json; charset=utf-8' -H 'Authorization:Basic YXBpX3VzZXI6YXBpX2tleQ==' -i https://email.api.engagelab.cc/v1/marketing/campaigns --data '{
"campaign_type": 2,
"name": "11.11_leon_api9",
"to":[{
"type": "list",
"value": ["all"]
}],
"sender_id": "53",
"reply_to": "reply@sendcloud.im",
"template_invoke_name": "leon2_shanshan",
"subject": "happy new year",
"run_time": "2022-10-26T17:10:20+0800",
"time_zone":"8",
"attachments":[{
"content":"base64 content",
"file_name":"1.jpg"
}
],
"ab_test": {
"percent": 20,
"win_condition": {
"time_unit": "hour",
"after_time": 18,
"compare": "open_percent"
},
"template_invoke_names": []
},
"google_track":{
"campaign_name":"",
"campaign_source":"",
"campaign_medium":"",
"campaign_term":"",
"campaign_content":""
}
}'
ตัวอย่างการตอบกลับ
Response-Success
HttpStatus: 200
{
"result": {
"campaign_id": 34007,
"campaign_type": 2,
"name": "testddd",
"to": {
"type": "tag",
"value": ["tag1"]
},
"template_invoke_name": "leon2_shanshan",
"reply_to": "",
"status": 2,
"create_time": "2022-09-27T16:36:32+0800",
"update_time": "2022-10-12T00:00:00+0800",
"run_time": "2022-09-27T16:41:23+0800",
"complete_time": "2022-10-12T00:00:00+0800",
"time_zone": "+8",
"sender_id": 21,
"google_track": {
"campaign_name":"",
"campaign_source":"",
"campaign_medium":"",
"campaign_term":"",
"campaign_content":""
},
"warm_up": [{
"domain":"hotmail.com",
"rate":1,
"upgrade_value":"0.95",
"downgrade_value":"0.75"
},{
"domain":"hotmail.com",
"rate":1,
"upgrade_value":"0.95",
"downgrade_value":"0.75"
}],
}
}
ตัวอย่างการตอบกลับงานทดสอบ A/B
{
"result": {
"campaign_id": 34009,
"campaign_type": 2,
"name": "testddd",
"to":[{
"type": "list",
"value": ["all"]
}],
"template_invoke_name": "leon2_shanshan",
"reply_to": "",
"status": 0,
"create_time": "2022-09-27T16:36:32+0800",
"update_time": "2022-10-12T00:00:00+0800",
"run_time": "2022-09-27T16:41:23+0800",
"complete_time": "2022-10-12T00:00:00+0800",
"time_zone": "+8",
"sender_id": 21,
"ab_test": {
"percent": 20,
"win_condition": {
"time_unit": "hour",
"after_time": 18,
"compare": "open_percent"
},
"template_invoke_names": []
},
"google_track": {
"campaign_name":"",
"campaign_source":"",
"campaign_medium":"",
"campaign_term":"",
"campaign_content":""
}
}
}
Response-Error
HttpStatus: 401
{
"code": 32112,
"message": "name cannot be empty"
}
ลบงาน
URL
https://email.api.engagelab.cc/v1/marketing/campaigns/{campaign_id}
วิธีการร้องขอ HTTP
DELETE
Content-Type
application/x-www-form-urlencoded;charset=utf-8
ส่วนหัวของคำร้อง
| ส่วนหัว | ประเภท | จำเป็น | คำอธิบาย |
|---|---|---|---|
| Authorization | string | true | Basic base64(api_user:api_key) |
ตัวอย่างคำร้อง
curl -X DELETE -H 'Authorization:Basic YXBpX3VzZXI6YXBpX2tleQ==' -i https://email.api.engagelab.cc/v1/marketing/campaigns/8
ตัวอย่างการตอบกลับ
Response-Succes
HttpStatus: 200
{
"count": 1
}
Response-Error
HttpStatus: 401
{
"code": 30000,
"message": "Authentication failed"
}
อัปเดตงาน
URL
https://email.api.engagelab.cc/v1/marketing/campaigns/{campaign_id}
วิธีการร้องขอ HTTP
PUT
Content-Type
application/json; charset=utf-8
ส่วนหัวของคำร้อง
| ส่วนหัว | ประเภท | จำเป็น | คำอธิบาย |
|---|---|---|---|
| Authorization | string | true | Bearer Token |
พารามิเตอร์ในเนื้อหา
| พารามิเตอร์ | ประเภท | จำเป็น | คำอธิบาย |
|---|---|---|---|
| campaign_type | integer | true | ประเภทงาน 1: งาน A/B, 2: งานปกติ |
| name | string | true | ชื่องาน (สูงสุด 64 ตัวอักษร) |
| to | object[] | true | ผู้รับ ปัจจุบันรองรับความยาวอาร์เรย์ 1. |
| reply_to | string | false | ที่อยู่สำหรับตอบกลับ |
| sender_id | string | * | รหัสผู้ส่ง (รองรับเฉพาะงานปกติ) |
| template_invoke_name | string | * | ชื่อเรียกใช้เทมเพลตอีเมล (รองรับเฉพาะงานปกติ) |
| subject | string | * | หัวข้ออีเมล (จำเป็นสำหรับงาน A/B) |
| send_time | string | * | เวลาส่ง (รองรับเฉพาะงานปกติ) เช่น 2022-10-19 19:35:20 |
| time_zone | integer | * | ค่าเริ่มต้นคือเขตเวลา +8 |
| attachments | object[] | false | ไฟล์แนบอีเมล (สูงสุด 10 ไฟล์แนบ) |
| filename | string | false | ชื่อไฟล์แนบ เช่น example.pdf |
| content | text | false | เนื้อหาที่เข้ารหัส Base64 ของไฟล์แนบ |
| ab_test | object | * | พารามิเตอร์การกำหนดค่าสำหรับงาน A/B (รองรับเฉพาะงาน A/B) |
| google_track | object | false | พารามิเตอร์การกำหนดค่า google_track |
| warm_up | object[] | false | พารามิเตอร์การกำหนดค่าการส่งแบบ warm-up (รองรับเฉพาะงานปกติ) |
ตัวอย่างคำร้อง
curl -X PUT -H ' application/json; charset=utf-8' -H 'Authorization:Basic YXBpX3VzZXI6YXBpX2tleQ==' -i https://email.api.engagelab.cc/v1/marketing/campaigns/8 --data '{
"name":"11.11_leon_api8"
}'
ตัวอย่างการตอบกลับ
Response-Success
HttpStatus: 200
{
"count": 1
}
Response-Error
{
"code": 32110,
"message": "The current campaign has been executed and cannot be modified"
}
รายการงาน
URL
https://email.api.engagelab.cc/v1/marketing/campaigns
วิธีการร้องขอ HTTP
GET
Content-Type
application/x-www-form-urlencoded;charset=utf-8
ส่วนหัวของคำร้อง
| ส่วนหัว | ประเภท | จำเป็น | คำอธิบาย |
|---|---|---|---|
| Authorization | string | true | Basic base64(api_user:api_key) |
พารามิเตอร์การค้นหา
| พารามิเตอร์ | ประเภท | จำเป็น | คำอธิบาย |
|---|---|---|---|
| campaign_type | integer | false | ประเภทงาน 1. งาน A/B 2. งานปกติ |
| status | integer | false | สถานะงาน (0. รอดำเนินการ, 1. กำลังส่ง, 2. เสร็จสมบูรณ์, -1. ล้มเหลว) |
| name | string | false | ชื่องาน |
| limit | integer | false | จำนวนการค้นหา ช่วง [1-100] ค่าเริ่มต้นคือ 10 |
| offset | integer | false | ตำแหน่งเริ่มต้นการค้นหา ช่วง [0-] ค่าเริ่มต้นคือ 0 |
ตัวอย่างคำร้อง
curl -X GET -H 'Authorization:Basic YXBpX3VzZXI6YXBpX2tleQ==' -i https://email.api.engagelab.cc/v1/marketing/campaigns?&status=2
ตัวอย่างการตอบกลับ
Response-Success
HttpStatus:200
{
"result": [
{
"campaign_id": 34007,
"campaign_type": 1,
"name": "testddd",
"to":[{
"type": "list",
"value": ["all"]
}],
"template_invoke_name": "leon2_shanshan",
"reply_to": "",
"status": 2,
"google_track": null,
"create_time": "2022-09-27T16:36:32+0800",
"update_time": "2022-10-12T00:00:00+0800",
"run_time": "2022-09-27T16:41:23+0800",
"complete_time": "2022-10-12T00:00:00+0800",
"time_zone": "+8",
"warm_up": [],
"sender_id": 21,
"from_email": "xjmfc23@legendnovel.com",
"from_name": "aaaa",
"ab_test": {
"percent": 20,
"win_condition": {
"time_unit": "hour",
"after_time": 18,
"compare": "open_percent"
},
"template_invoke_names": []
}
}
],
"total": 2
}
Response-Error
{
"code": 30000,
"message": "Authentication failed"
}
รายละเอียดงาน
URL
https://email.api.engagelab.cc/v1/marketing/campaigns/{campaign_id}
วิธีการร้องขอ HTTP
GET
Content-Type
application/x-www-form-urlencoded;charset=utf-8
ส่วนหัวของคำร้อง
| ส่วนหัว | ประเภท | จำเป็น | คำอธิบาย |
|---|---|---|---|
| Authorization | string | true | Basic base64(api_user:api_key) |
ตัวอย่างคำร้อง
curl -X GET -H 'Authorization:Basic YXBpX3VzZXI6YXBpX2tleQ==' -i https://email.api.engagelab.cc/v1/marketing/campaigns/33761
คำอธิบายการตอบกลับ
| พารามิเตอร์ | ประเภท | คำอธิบาย |
|---|---|---|
| name | string | ชื่องาน |
| to | object[] | ผู้รับ ปัจจุบันรองรับความยาวอาร์เรย์ 1. |
| campaign_id | integer | รหัสงาน |
| campaign_type | integer | ประเภทงาน 1 งาน A/B 2 งานปกติ |
| template_invoke_name | string | ชื่อเรียกใช้เทมเพลต |
| reply_to | string | ที่อยู่สำหรับตอบกลับ |
| status | integer | สถานะงาน (0. รอดำเนินการ, 1. กำลังส่ง, 2. เสร็จสมบูรณ์, -1. ล้มเหลว) |
| from_email | string | ที่อยู่อีเมลที่สอดคล้องกับรหัสผู้ส่ง |
| from_name | string | ชื่อเล่นที่สอดคล้องกับรหัสผู้ส่ง |
| sender_id | integer | รหัสผู้ส่ง |
| create_time | string | เวลาสร้าง (UTC+8) |
| update_time | string | เวลาอัปเดต (UTC+8) |
| run_time | string | เวลาเริ่มต้น (UTC+8) |
| time_tone | integer | เขตเวลา (อ้างอิงจากพจนานุกรมเขตเวลา) |
| complete_time | string | เวลาสิ้นสุด (UTC+8) |
| google_track | object | พารามิเตอร์การกำหนดค่า google_track |
| warm_up | array[object] | พารามิเตอร์การกำหนดค่าการส่งแบบ warm-up (รองรับเฉพาะงานปกติ) |
| ab_test | object | การกำหนดค่าการทดสอบ A/B |
ตัวอย่างการตอบกลับ
Response-Success
HttpStatus: 200
{
"result": {
"campaign_id": 34007,
"campaign_type": 1,
"name": "testddd",
"to":[{
"type": "list",
"value": ["all"]
}],
"from_email": "xjmfc23@legendnovel.com",
"from_name": "aaaa",
"template_invoke_name": "leon2_shanshan",
"reply_to": "",
"status": 2,
"google_track": null,
"create_time": "2022-09-27T16:36:32+0800",
"update_time": "2022-10-12T00:00:00+0800",
"run_time": "2022-09-27T16:41:23+0800",
"complete_time": "2022-10-12T00:00:00+0800",
"time_zone": "+8",
"warm_up": null,
"sender_id": 21,
"ab_test": {
"percent": 20,
"win_condition": {
"time_unit": "hour",
"after_time": 18,
"compare": "open_percent"
},
"template_invoke_names": []
}
}
}
Response-Error
{
"code": 30000,
"message": "Authentication failed"
}








