การจัดการงาน
สร้างงาน
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"
}