グループ管理
グループ作成
URL
https://email.api.engagelab.cc/v1/marketing/lists/segments
HTTPリクエストメソッド
POST
Content-Type
application/json; charset=utf-8
リクエストヘッダー
ヘッダー | タイプ | 必須 | 説明 |
---|---|---|---|
Authorization | string | true | Basic base64(api_user:api_key) |
ボディパラメータ
パラメータ | タイプ | 必須 | 説明 |
---|---|---|---|
segment_name | string | true | グループ名(最大48文字、特殊文字 ^,?,+,.,*,\,[,],(,) は使用不可) |
type | integer | true | グループタイプ (0 または 1) 0. フィールド別(属性によるグループ化); 1. キャンペーン別(キャンペーンパフォーマンスによるグループ化) |
condition | object | true | グループ条件 |
relation | string | true | 条件の関係 (and または or) |
items | object[] | true | 条件(最大10個のフィルター条件をサポート、フィルター条件間の関係(relation)はすべて "and" またはすべて "or" である必要があります) |
campaign_id | integer | false | キャンペーンID field_name=campaign の場合、この値は必須であり、対応するキャンペーンステータスは "sending" または "completed" である必要があります |
field_name | string | true | 1. type=0 の場合 field_name は属性名、value は属性値; value=タグ名の場合、field_name は "tag" となります 2. type=1 の場合 field_name は campaign である必要があり、value は "sent","open","click","unopen","unclick","notsent" のいずれかで、campaign_id がキャンペーンIDとして必須です |
op | string | true | 演算子 (== , != , > , >= , < , <= , contain , does not contain) field_name=campaign の場合、op は == である必要があります; field_name が属性名またはタグの場合、フィルター条件 を参照してください |
value | string | true | field_name が "tag" の場合、value=タグ名; field_name が属性名の場合、フィルター条件 を参照してください; field_name = "campaign" の場合、value は sent, open, click, unopen, unclick, notsent のいずれかです |
注意事項
- field_name と op の関係については フィルター条件 を参照してください。
リクエスト例
curl -X POST -H 'Content-Type: application/json; charset=utf-8' -H 'Authorization:Basic YXBpX3VzZXI6YXBpX2tleQ==' -i https://email.api.engagelab.cc/v1/marketing/lists/segments --data '{
"segment_name": "Hubei user",
"type": 0,
"condition": {
"relation": "and",
"items": [
{
"field_name": "Name",
"op": "contain",
"value": "Lei Li"
}
]
}
}'
レスポンス例
Response-Success
HttpStatus: 200
{
"result": {
"segment_id": "6566f6392c16e71300b1b1e9",
"user_id": 104201,
"segment_name": "MyCustomField",
"type": 0,
"list_id": 96112,
"status": "2",
"create_time": "2023-11-29 16:28:41+0800",
"update_time": "2023-11-29 16:33:58+0800",
"member_total": 1,
"condition": {
"relation": "and",
"items": [
{
"field_name": "Name",
"op": "contain",
"value": "Lei li"
}
]
},
"process": {
"statusDesc": "segmentation completed",
"complete": true,
"percent": 100
}
}
}
Response-Error
{
"code": 30035,
"message": "[segment_name]:Special characters such as ^, ?, +, ., \\, [, ], (, ), cannot be used"
}
グループ削除
URL
https://email.api.engagelab.cc/v1/marketing/lists/segments/{segment_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/lists/segments/6566f12d1e9adc15e3efd4
レスポンス例
Response-Success
HttpStatus: 200
{
"count": 1
}
Response-Error
{
"code": 30036,
"message": "not found"
}
グループ更新
URL
https://email.api.engagelab.cc/v1/marketing/lists/segments/{segment_id}
HTTPリクエストメソッド
PUT
Content-Type
application/json; charset=utf-8
リクエストヘッダー
ヘッダー | タイプ | 必須 | 説明 |
---|---|---|---|
Authorization | string | true | Basic base64(api_user:api_key) |
ボディパラメータ
パラメータ | タイプ | 必須 | 説明 |
---|---|---|---|
segment_name | string | false | グループ名(最大48文字) |
type | integer | true | グループタイプ (0 または 1) 0. フィールド別(属性によるグループ化); 1. キャンペーン別(キャンペーンパフォーマンスによるグループ化) |
condition | object | true | グループ条件 |
relation | string | true | 条件の関係 (and または or) |
items | object[] | true | 条件(最大10個のフィルター条件をサポート、フィルター条件間の関係(relation)はすべて "and" またはすべて "or" である必要があります) |
campaign_id | integer | false | キャンペーンID field_name=campaign の場合、この値は必須であり、対応するキャンペーンステータスは "sending" または "completed" である必要があります |
field_name | string | true | 1. type=0 の場合 2. type=1 の場合 field_name は campaign である必要があり、value は "sent","open","click","unopen","unclick","notsent" のいずれかで、campaignId がキャンペーンIDとして必須です |
op | string | true | 演算子 (== , != , > , >= , < , <= , contain , does not contain) field_name=campaign の場合、op は == である必要があります; field_name が属性名またはタグの場合、フィルター条件 を参照してください |
value | string | true | field_name が "tag" の場合、value=タグ名; field_name が属性名の場合、フィルター条件 を参照してください; field_name = "campaign" の場合、value は sent, open, click, unopen, unclick, notsent のいずれかです |
注意事項
- field_name と op の関係については フィルター条件 を参照してください。
リクエスト例
curl -X PUT -H 'Content-Type: application/json; charset=utf-8' -H 'Authorization:Basic YXBpX3VzZXI6YXBpX2tleQ==' -i https://email.api.engagelab.cc/v1/marketing/lists/segments/62849dc690d79d4947dd033d --data '{
"segment_name": "Age between 13 and 45",
"type": 0,
"condition": {
"relation": "and",
"items": [
{
"field_name": "Age",
"op": ">=",
"value": "13"
},
{
"field_name": "Age",
"op": "<=",
"value": "45"
}
]
}
}'
レスポンス説明
パラメータ | タイプ | 説明 |
---|---|---|
segment_id | string | グループID |
segment_name | string | グループ名 |
list_id | integer | 関連リストID |
status | string | グループステータス (-1. 失敗 1. 更新中 2. 更新完了) |
create_time | string | 作成日時 (UTC+8) |
update_time | string | 更新日時 (UTC+8) |
member_total | integer | グループメンバー総数 |
type | integer | グループタイプ (0 または 1) 0. フィールド別(属性によるグループ化); 1. キャンペーン別(キャンペーンパフォーマンスによるグループ化) |
condition | object | グループ条件 |
relation | string | 条件の関係 and, or |
items | object[] | 条件 |
campaign_id | integer | キャンペーンID |
field_name | string | 属性名 |
op | string | 演算子 |
value | string | 属性値 |
process | object | グループ処理進捗 |
status_desc | string | 処理ステータス説明 |
complete | Boolean | true 完了, false 未完了 |
percent | integer | 処理進捗率 |
レスポンス例
Response-Success
HttpStatus: 200
{
"result": {
"segment_id": "6566f91fceac8f702f24dbba",
"user_id": 104201,
"segment_name": "Age between 13 and 45",
"type": 0,
"list_id": 96112,
"status": "2",
"create_time": "2023-11-29 16:41:03+0800",
"update_time": "2023-11-29 17:08:43+0800",
"member_total": 10,
"condition":{
"relation": "and",
"items":[
{
"campaign_id": null,
"field_name": "Age",
"op": ">=",
"value": "13"
},
{
"campaign_id": null,
"field_name": "Age",
"op": "<=",
"value": "45"
}
]
},
"process": {
"statusDesc": "segmentation completed",
"complete": true,
"percent": 100
}
}
}
Response-Error
{
"code": 30036,
"message": "not found"
}
グループ詳細
URL
https://email.api.engagelab.cc/v1/marketing/lists/segments/{segment_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/lists/segments/62849dc690d79d4947dd033d
レスポンス説明
パラメータ | タイプ | 説明 |
---|---|---|
segment_id | string | グループID |
segment_name | string | グループ名 |
list_id | integer | 関連リストID |
status | string | グループステータス (-1. 失敗 1. 更新中 2. 更新完了) |
create_time | string | 作成日時 (UTC+8) |
update_time | string | 更新日時 (UTC+8) |
member_total | integer | グループメンバー総数 |
type | integer | グループタイプ (0 または 1) 0. フィールド別(属性によるグループ化); 1. キャンペーン別(キャンペーンパフォーマンスによるグループ化) |
condition | object | グループ条件 |
relation | string | 条件の関係 and, or |
items | object[] | 条件 |
campaign_id | integer | キャンペーンID |
field_name | string | 属性名 |
op | string | 演算子 |
value | string | 属性値 |
process | object | グループ処理進捗 |
status_desc | string | 処理ステータス説明 |
complete | Boolean | true 完了, false 未完了 |
percent | integer | 処理進捗率 |
レスポンス例
Response-Success
HttpStatus:200
{
"result": {
"segment_id": "6566f6392c16e71300b1b1e9",
"user_id": 104201,
"segment_name": "MyCustomField",
"relation": "and",
"type": 0,
"list_id": 96112,
"status": "2",
"create_time": "2023-11-29 16:28:41+0800",
"update_time": "2023-11-29 16:33:58+0800",
"member_total": 1,
"condition": {
"relation": "and",
"items":[{
"campaign_id": null,
"field_name": "CustomField",
"op": "contain",
"value": "CustomField"
}
]
},
"process": {
"statusDesc": "segmentation completed",
"complete": true,
"percent": 100
}
}
}
Response-Error
{
"code": 30036,
"message": "not found"
}
グループリスト
URL
https://email.api.engagelab.cc/v1/marketing/lists/segments
HTTPリクエストメソッド
GET
Content-Type
application/x-www-form-urlencoded;charset=utf-8
リクエストヘッダー
ヘッダー | タイプ | 必須 | 説明 |
---|---|---|---|
Authorization | string | true | Basic base64(api_user:api_key) |
クエリパラメータ
パラメータ | タイプ | 必須 | 説明 |
---|---|---|---|
segment_name | string | false | グループ名、あいまい検索をサポート |
type | integer | false | グループタイプ (0 または 1) 0.フィールド別 (属性によるグループ化); 1.キャンペーン別 (キャンペーンパフォーマンスによるグループ化) |
offset | integer | false | クエリ開始位置、範囲 [0-]、デフォルトは 0 |
limit | integer | false | クエリ数、範囲 [1-100]、デフォルトは 10 |
リクエスト例
curl -X GET -H 'Authorization:Basic YXBpX3VzZXI6YXBpX2tleQ==' -i https://email.api.engagelab.cc/v1/marketing/lists/segments?offset=0&limit=10&segmentName=abc_by_name&type=0
レスポンス説明
パラメータ | タイプ | 説明 |
---|---|---|
list | array | 連絡先リスト |
segment_id | string | グループID |
segment_name | string | グループ名 |
list_id | integer | リスト関連ID |
status | string | グループステータス (-1: 失敗, 1: 更新中, 2: 更新完了) |
create_time | string | 作成時間 (UTC+8) |
update_time | string | 更新時間 (UTC+8) |
member_total | integer | グループ連絡先の総数 |
type | integer | グループタイプ (0 または 1) 0.フィールド別 (属性によるグループ化); 1.キャンペーン別 (キャンペーンパフォーマンスによるグループ化) |
condition | object | グループ条件 |
relation | string | 条件関係 and, or |
items | object[] | 条件 |
campaign_id | integer | キャンペーンID |
field_name | string | 属性名 |
op | string | 演算子 |
value | string | 属性値 |
process | object | グループ処理進捗 |
status_desc | string | 処理ステータス説明 |
complete | Boolean | true 完了、false 未完了 |
percent | integer | 処理進捗率 |
total | integer | 総レコード数 |
count | integer | 結果レコード数 |
レスポンス例
Response-Success
HttpStatus: 200
{
"result": [
{
"segment_id": "6566f6392c16e71300b1b1e9",
"segment_name": "MyCustomField",
"type": 0,
"list_id": 96112,
"status": "2",
"create_time": "2023-11-29 16:28:41+0800",
"update_time": "2023-11-29 16:33:58+0800",
"member_total": 1,
"condition": {
"relation": "and",
"items": [
{
"campaign_id": null,
"field_name": "CustomField",
"op": "contain",
"value": "CustomField"
}
]
},
"process": {
"statusDesc": "segmentation completed",
"complete": true,
"percent": 100
}
},
{
"segment_id": "6566f2dd1e9adc15e3efd47e",
"segment_name": "Age>=20用户组",
"type": 0,
"list_id": 96112,
"status": "2",
"create_time": "2023-11-29 16:14:21+0800",
"update_time": "2023-11-29 16:14:23+0800",
"member_total": 10,
"condition": {
"relation": "and",
"items": [
{
"campaign_id": null,
"field_name": "Age",
"op": ">=",
"value": "20"
}
]
},
"process": {
"statusDesc": "segmentation completed",
"complete": true,
"percent": 100
}
}
],
"total": 4,
"count": 2
}
Response-Error
{
"code": 30035,
"message": "type only be 0 (by field) or 1 (by campaign)"
}
グループ処理進捗のクエリ
URL
https://email.api.engagelab.cc/v1/marketing/lists/segments/{segment_id}/process
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/lists/segments/62849dc690d79d4947dd033d/process
レスポンス例
Response-Success
HttpStatus: 200
{
"result": {
"percent": 68,
"complete": false,
"statusDesc": "is being segmented, please do not use this segment to send mail"
}
}
Response-Error
{
"code": 30036,
"message": "not found"
}
グループのメンバーリスト
URL
https://email.api.engagelab.cc/v1/marketing/lists/segments/{segment_id}/members
HTTPリクエストメソッド
POST
Content-Type
application/json; charset=utf-8
リクエストヘッダー
ヘッダー | タイプ | 必須 | 説明 |
---|---|---|---|
Authorization | string | true | Basic base64(api_user:api_key) |
クエリパラメータ
パラメータ | タイプ | 必須 | 説明 |
---|---|---|---|
offset | integer | false | クエリ開始位置、範囲 [0-]、デフォルトは 0 |
limit | integer | false | クエリ数、範囲 [1-100]、デフォルトは 10 |
ボディパラメータ
パラメータ | タイプ | 必須 | 説明 |
---|---|---|---|
condition | object | false | グループ条件 |
relation | string | true | 条件関係 (and または or) |
items | object[] | true | 条件 (最大10個のフィルタ条件、フィルタ条件間の関係 (relation) はすべて and またはすべて or でなければならない) |
field_name | string | true | field_name は属性名、value は属性値; field_name が "tag" の場合、value=タグ名 |
op | string | true | 演算子 (== , != , > , >= , < , <= , contain , does not contain) |
value | string | true | field_name = "tag" の場合、value = タグ名; field_name が属性名の場合、フィルタ条件 を参照してください |
説明
- field_name と op の関係については、フィルタ条件を参照してください
リクエスト例
curl -X POST -H 'Content-Type: application/json; charset=utf-8' -H 'Authorization:Basic YXBpX3VzZXI6YXBpX2tleQ==' -i https://email.api.engagelab.cc/v1/marketing/lists/segments/62908150eb5e955d6d214da6/members?offset=0&limit=10 --data '{
"condition": {
"relation": "and",
"items": [
{
"field_name": "Email",
"op": "contain",
"value": "tw"
}
]
}
}'
レスポンス説明
パラメータ | タイプ | 説明 |
---|---|---|
list | array[object] | リスト配列 |
id | string | 連絡先ID |
list_id | integer | リストID |
string | メールアドレス | |
phone | string | 電話番号 |
name | string | 名前 |
create_time | string | 作成時間 (UTC+8) |
update_time | string | 購読更新時間 (UTC+8) |
unsubscribe_time | string | 購読解除時間 (UTC+8) |
fields | object | 連絡先属性 |
tag_ids | string[] | タグIDコレクション |
tag_names | string[] | タグ名コレクション |
total | integer | 総レコード数 |
レスポンス例
Response-Succes
HttpStatus: 200
{
"result": [
{
"id": "629d6650490f33c5eef1caa6",
"list_id": 63486,
"email": "paulchen0518@yahoo.com.tw",
"phone": null,
"name": "shanshan",
"create_time": "2022-06-06T10:28:32+0800",
"update_time": "2022-06-06T10:28:32+0800",
"unsubscribe_time": null,
"fields": {
"Gender": "Female"
},
"tags": null,
"tag_names": []
},
{
"id": "629d665a490f33c5eef2932f",
"list_id": 63486,
"email": "q510518@yahoo.com.tw",
"phone": null,
"name": "",
"create_time": "2022-06-06T10:28:42+0800",
"update_time": "2022-06-06T10:28:42+0800",
"unsubscribe_time": null,
"fields": {
"Gender": ""
},
"tag_ids": null,
"tag_names": []
}
],
"total": 2
}
Response-Error
{
"code": 30000,
"message": "Authentication failed"
}
グループ連絡先の削除
URL
https://email.api.engagelab.cc/v1/marketing/lists/segments/{segment_id}/members
HTTPリクエストメソッド
DELETE
Content-Type
application/json; charset=utf-8
リクエストヘッダー
ヘッダー | タイプ | 必須 | 説明 |
---|---|---|---|
Authorization | string | true | Basic base64(api_user:api_key) |
ボディパラメータ
パラメータ | タイプ | 必須 | 説明 |
---|---|---|---|
member_ids | string[] | true | 連絡先IDリスト |
リクエスト例
curl -X DELETE -H 'Content-Type: application/json; charset=utf-8' -H 'Authorization:Basic YXBpX3VzZXI6YXBpX2tleQ==' -i https://email.api.engagelab.cc/v1/marketing/lists/segments/ 62849dc690d79d4947dd033d/members --data '{
"member_ids": [
"asdfsdf2211212aa",
"2sadfs288332223s"
]
}'
レスポンス例
Response-Success
HttpStatus: 200
{
"count": 100
}
Response-Error
{
"code": 30000,
"message": "Authentication failed"
}