Membres
Adresse d'appel
| Centre de données | URL |
|---|---|
| Singapour | https://email.api.engagelab.cc |
| Turquie | https://emailapi-tr.engagelab.com |
Lorsque vous utilisez l'API REST, assurez-vous que le centre de données sélectionné correspond à la bonne URL de base.
POST/v1/marketing/lists/members
Ajout ou mise à jour en lot
URL
https://email.api.engagelab.cc/v1/marketing/lists/members
Méthode de requête HTTP
POST
Content-Type
application/json; charset=utf-8
En-têtes de la requête
| En-tête | Type | Obligatoire | Description |
|---|---|---|---|
| Authorization | string | true | Basic base64(api_user:api_key) |
Paramètres du corps de la requête
| Paramètre | Type | Obligatoire | Description |
|---|---|---|---|
| members | array[object] | true | Liste des membres, jusqu'à un maximum de 1000 |
| string | true | Adresse e-mail | |
| phone | string | false | Numéro de téléphone |
| name | string | false | Surnom |
| fields | object | false | Champs de contact |
| tags | string[] | false | Liste des noms de tags |
| tag_flag | integer | false | Méthode de mise à jour des tags : 0 pour écraser, 1 pour ajouter, 2 pour ignorer (par défaut 1) |
| update_existing | boolean | true | Faut-il mettre à jour les propriétés si l'adresse existe déjà |
Remarque :
- Si le champ Email d'un membre est identique à la valeur du paramètre members.email, cela signifie la mise à jour du membre. Sinon, il s'agit de l'ajout d'un nouveau membre.
- Les différentes valeurs de tag_flag correspondent à différentes méthodes de mise à jour des tags. Voir l'exemple ci-dessous :
| tag_flag | Tags originaux | tags du paramètre | nouveaux tags |
|---|---|---|---|
| 0 | [1,2,3] | [] | [] |
| 0 | [1,2,3] | null, aucune valeur transmise | [1,2,3] |
| 0 | [1,2,3] | [3,4,5] | [3,4,5] |
| 1 | [1,2,3] | [] | [1,2,3] |
| 1 | [1,2,3] | null, aucune valeur transmise | [1,2,3] |
| 1 | [1,2,3] | [3,4,5] | [1,2,3,4,5] |
| 2 | [1,2,3] | [] | [1,2,3] |
| 2 | [1,2,3] | null, aucune valeur transmise | [1,2,3] |
| 2 | [1,2,3] | [3,4,5] | [1,2,3] |
| 2 | [] | [3,4,5] | [] |
Exemple de requête
curl -X POST -H 'Content-Type: application/json; charset=utf-8' -H 'Authorization:Basic YXBpX3VzZXI6YXBpX2tleQ=='
-i https://email.api.engagelab.cc/v1/marketing/lists/members
--data '{"members":[{"email":"xjmfc@126.com","phone":"13681312919","name":"Zhusuosuo","fields":{"Birthday":"03/30","Age":"12","customField":"My test"},"tags":["testTag"]}],"tag_flag":0,"update_existing":true}'
Exemple de réponse
Réponse-Succès
HttpStatus: 200
{
"created_count": 2,
"created_members": [{
"email": "202205ab233444444444446@qq.com",
"member_id": "6294b0fa490f33c5ee3b5b0c"
},{
"email": "202205ab3331@qq.com",
"member_id": "6294b0fa490f33c5ee3b5b0d"
}],
"updated_count": 2,
"updated_members": [{
"email": "202205ab233444444444447@qq.com",
"member_id": "6294b0fa490f33c5ee3b5b1c"
},{
"email": "202205ab3332@qq.com",
"member_id": "6294b0fa490f33c5ee3b5b1d"
}],
"error_count": 2,
"error_members": [{
"email": "202205ab233444444444446@qq.com",
"message": "..."
},{
"email": "202205ab3331@qq.com",
"message": "..."
}]
}
Réponse-Erreur
{
"code": 30000,
"message": "Échec de l'authentification"
}
Suppression
URL
https://email.api.engagelab.cc/v1/marketing/lists/members/{member_id}
Méthode de requête HTTP
DELETE
Content-Type
application/x-www-form-urlencoded;charset=utf-8
En-têtes de la requête
| En-tête | Type | Obligatoire | Description |
|---|---|---|---|
| Authorization | string | true | Basic base64(api_user:api_key) |
Exemple de requête
curl -X DELETE -H 'Authorization:Basic YXBpX3VzZXI6YXBpX2tleQ==' -i https://email.api.engagelab.cc/v1/marketing/lists/members/8
Exemple de réponse
Réponse-Succès
HttpStatus: 200
{
"count": 1
}
Réponse-Erreur
HttpStatus: 401
{
"code": 30000,
"message": "Échec de l'authentification"
}
Suppression en lot
URL
https://email.api.engagelab.cc/v1/marketing/lists/members/delete
Méthode de requête HTTP
DELETE
Content-Type
application/json; charset=utf-8
En-têtes de la requête
| En-tête | Type | Obligatoire | Description |
|---|---|---|---|
| Authorization | string | true | Basic base64(api_user:api_key) |
Paramètres du corps de la requête
| Paramètre | Type | Obligatoire | Description |
|---|---|---|---|
| condition | object | false | Condition de requête |
| relation | string | true | Relation de condition (and ou or) |
| items | object[] | true | Conditions de filtrage : jusqu'à 10 conditions prises en charge. Toutes les conditions doivent avoir la même relation (soit toutes "and", soit toutes "or") |
| field_name | string | true | field_name représente le nom de l'attribut, et value la valeur du champ. Lorsque field_name est tag, value = nom du tag |
| op | string | true | Opérateur (==, !=, >, >=, <, <=, exist, contain, does not contain) |
| value | string | true | Lorsque field_name est tag, value = nom du tag Lorsque field_name est un nom d'attribut, veuillez vous référer à Conditions de filtrage pour le format. |
Remarque
- La relation entre field_name et op peut être consultée ici Conditions de filtrage
Exemple de requête
curl -X DELETE -H 'Content-Type: application/json; charset=utf-8' -H 'Authorization:Basic YXBpX3VzZXI6YXBpX2tleQ==' -i https://email.api.engagelab.cc/v1/marketing/lists/members/delete --data '
{
"condition": {
"relation": "or",
"items": [
{
"field_name": "Email",
"op": "contain",
"value": "hotmail.com"
},
{
"field_name": "Phone",
"op": "contain",
"value": "188"
}
]
}
}
'
Exemple de réponse
Réponse-Succès
HttpStatus: 200
{
"count": 1
}
Réponse-Erreur
HttpStatus: 401
{
"code": 30000,
"message": "Échec de l'authentification"
}
Mise à jour
URL
https://email.api.engagelab.cc/v1/marketing/lists/members/{member_id}
Méthode de requête HTTP
PUT
Content-Type
application/json; charset=utf-8
En-têtes de la requête
| En-tête | Type | Obligatoire | Description |
|---|---|---|---|
| Authorization | string | true | Basic base64(api_user:api_key) |
Paramètres du corps de la requête
| Paramètre | Type | Obligatoire | Description |
|---|---|---|---|
| phone | string | false | Numéro de téléphone |
| name | string | false | Surnom |
| fields | object | false | Champs du membre |
| tags | string[] | false | Liste des noms de tags |
Exemple de requête
curl -X PUT -H 'Content-Type: application/json; charset=utf-8' -H 'Authorization:Basic YXBpX3VzZXI6YXBpX2tleQ==' -i
https://email.api.engagelab.cc/v1/marketing/lists/members/62974a5e490f33c5eee647a2
--data '{"phone":"13681312919","name":"朱锁锁","fields":{"Birthday":"03/30","Age":"12","customField":"My test"},"tags":["testTag"]}'
Paramètres de la réponse
| Paramètre | Type | Description |
|---|---|---|
| member_id | string | ID du membre |
| list_id | integer | ID de la liste |
| user_id | integer | ID de l'utilisateur |
| string | Adresse e-mail | |
| phone | string | Numéro de téléphone |
| name | string | Nom |
| create_time | string | Date de création (UTC+8) |
| update_time | string | Date de mise à jour de l'abonnement (UTC+8) |
| unsubscribe_time | string | Date de désabonnement (UTC+8) |
| fields | object | Champs du membre |
| tags | string[] | Ensemble d'IDs de tags |
| tag_names | string[] | Ensemble de noms de tags |
Exemple de réponse
Réponse-Succès
HttpStatus: 200
{
"count": 1
}
Réponse-Erreur
HttpStatus: 200
{
"code": 30036,
"message": "Ressource non trouvée"
}
Détails du membre
URL
https://email.api.engagelab.cc/v1/marketing/lists/members/{member_id}
Méthode de requête HTTP
GET
Content-Type
application/x-www-form-urlencoded;charset=utf-8
En-têtes de la requête
| En-tête | Type | Obligatoire | Description |
|---|---|---|---|
| Authorization | string | true | Basic base64(api_user:api_key) |
Exemple de requête
curl -X GET -H 'Authorization:Basic YXBpX3VzZXI6YXBpX2tleQ==' -i https://email.api.engagelab.cc/v1/marketing/lists/members/62974a5e490f33c5eee647a2
Paramètres de la réponse
| Paramètre | Type | Description |
|---|---|---|
| member_id | string | ID du membre |
| list_id | integer | ID de la liste |
| string | Adresse e-mail | |
| phone | string | Numéro de téléphone |
| name | string | Nom |
| create_time | string | Date de création (UTC+8) |
| update_time | string | Date de mise à jour de l'abonnement (UTC+8) |
| unsubscribe_time | string | Date de désabonnement (UTC+8) |
| fields | object | Propriétés du contact |
| tag_ids | string[] | Ensemble d'IDs de tags |
| tag_names | string[] | Ensemble de noms de tags |
Réponse-Succès
HttpStatus: 200
{
"result": {
"member_id": "6565c12a3b4e0d83d3f58ea0",
"list_id": 95964,
"email": "xjmfc@126.com",
"phone": null,
"name": null,
"fields": {
"Birthday": "03/30",
"Age": "12"
},
"tag_ids": [],
"tag_names": [],
"create_time": "2023-11-28T18:30:02+0800",
"update_time": "2023-11-30T16:44:44+0800",
"unsubscribe_time": null
}
}
Réponse-Erreur
HttpStatus: 401
{
"code": 30000,
"message": "Échec de l'authentification"
}
Liste des membres
URL
https://email.api.engagelab.cc/v1/marketing/lists/list_members
Méthode de requête HTTP
POST
Content-Type
application/json; charset=utf-8
En-têtes de la requête
| En-tête | Type | Obligatoire | Description |
|---|---|---|---|
| Authorization | string | true | Basic base64(api_user:api_key) |
Paramètres de requête
| Paramètre | Type | Obligatoire | Description |
|---|---|---|---|
| limit | integer | false | Nombre d'éléments à récupérer, plage [1-100], par défaut 10 |
| offset | integer | false | Position de départ de la requête, plage [0-], par défaut 0 |
Paramètres du corps de la requête
| Paramètre | Type | Obligatoire | Description |
|---|---|---|---|
| condition | object | false | Condition de requête |
| relation | string | true | Relation de condition (and ou or) |
| items | object[] | true | Conditions de filtrage. Jusqu'à 10 conditions prises en charge, toutes "and" ou toutes "or" selon la relation spécifiée |
| field_name | string | true | field_name représente le nom du champ, et value la valeur du champ ; Lorsque field_name est tag, value=nom du tag |
| op | string | true | Opérateur (==, !=, >, >=, <, <=, exist, contain, does not contain) |
| value | string | true | Lorsque field_name est tag, value=nom du tag Lorsque field_name est un nom de champ, veuillez vous référer au format de la valeur conditions de filtrage |
Remarque :
- Veuillez vous référer à la correspondance entre field_name et op conditions de filtrage
Exemple de requête
curl -X POST -H 'Content-Type: application/json; charset=utf-8' -H 'Authorization:Basic YXBpX3VzZXI6YXBpX2tleQ==' -i https://email.api.engagelab.cc/v1/marketing/lists/listMembers?offset=0&limit=10 --data '{
"condition": {
"relation": "and",
"items": [
{
"field_name": "Email",
"op": "contain",
"value": "qq.com"
}
]
}
}'
Paramètres de la réponse
| Paramètre | Type | Description |
|---|---|---|
| list | array | Tableau de la liste |
| member_id | string | ID du membre |
| list_id | integer | ID de la liste |
| string | Adresse e-mail | |
| phone | string | Numéro de téléphone |
| name | string | Nom |
| create_time | string | Date de création (UTC+8) |
| update_time | string | Date de mise à jour de l'abonnement (UTC+8) |
| unsubscribe_time | string | Date de désabonnement (UTC+8) |
| fields | object | Propriétés du membre |
| tag_ids | string[] | Ensemble d'IDs de tags |
| tag_names | string[] | Ensemble de noms de tags |
| total | integer | Nombre total d'enregistrements |
Exemple de réponse
Réponse-Succès
HttpStatus: 200
{
"result": [
{
"member_id": "6565c12a3b4e0d83d3f58ea0",
"list_id": 95964,
"email": "xjmfc@126.com",
"phone": null,
"name": null,
"fields": {
"Birthday": "03/30",
"Age": "12"
},
"tag_ids": [],
"tag_names": [],
"create_time": "2023-11-28T18:30:02+0800",
"update_time": "2023-11-30T17:00:19+0800",
"unsubscribe_time": null
}
],
"total": 3,
"count": 1
}
Réponse-Erreur
HttpStatus: 401
{
"code": 30000,
"message": "Échec de l'authentification"
}

