Abonnés¶
-
GET
/api/v1/lists/
(int: list_id)/subscribers
¶ Abonnés de la liste correspondant au
list_id
spécifié.Parameters: - list_id (int) – l’identifiant unique de la liste
Query Parameters: - subscription – filtrer les résultats par statut d’abonnement, les valeurs valides sont
active
,pending
,bounced
,unsubscribed
anddeleted
- email – filtrer les résultats par
email
Response JSON Array of Objects: - id (int) – l’identifiant unique de la liste
- create_datetime (datetime) – le datetime de création de l’abonné
- create_user (int) – l’identifiant unique du créateur‘s de l’abonné
- update_datetime (datetime) – le datetime de dernière modification de l’abonné
- update_user (int) – L’identifiant unique de l’utilisateur ayant fait la dernière modification à l’abonné
- subscription (string) – statut d’abonnement de l’abonné
- email (email) – l’adresse courriel de l’abonné
- first_name (string) – prénom de l’abonné
- last_name (string) – nom de l’abonné
- gender (string) – sexe de l’abonné
- date_of_birth (date) – date de naissance de l’abonné
- language (string) – langue de l’abonné
- region (string) – région de l’abonné
Note
Les champs personnalisés partagés et de listes devraient aussi être présent dans les abonnés retournés. La structure exacte de la liste peut être retrouvée par introspection de la ressource.
Requête:
GET /api/v1/lists/1/subscribers HTTP/1.1 Host: account.emailicious.com Accept: application/json
Réponse:
HTTP/1.1 200 OK Vary: Accept Allow: GET, POST, HEAD, OPTIONS Content-Type: application/json { "count": 3, "next": null, "previous": null, "results": [ { "id": 1, "create_datetime": "2014-01-09T13:51:50.549536Z", "create_user": 1, "update_datetime": "2015-10-08T12:32:59.330455Z", "update_user": 1, "subscription": "active", "email": "active@example.com", "first_name": "Sergio", "last_name": "Leone", "gender": "m", "date_of_birth": "1929-01-03", "language": "it", "region": "IT-RM" }, { "id": 2, "create_datetime": "2014-01-09T13:51:50.549536Z", "create_user": 1, "update_datetime": "2015-10-08T12:32:59.330455Z", "update_user": 1, "subscription": "bounced", "email": "bounced@example.com", "first_name": "Ennio", "last_name": "Morricone", "gender": "m", "date_of_birth": "1928-11-10", "language": "it", "region": "IT-RM" }, { "id": 3, "create_datetime": "2014-01-09T13:51:50.549536Z", "create_user": 1, "update_datetime": "2015-10-08T12:32:59.330455Z", "update_user": 1, "subscription": "deleted", "email": "deleted@example.com", "first_name": "Clint", "last_name": "Eastwood", "gender": "m", "date_of_birth": "1930-05-31", "language": "en", "region": "US-CA" } ] }
Status Codes: - 404 Not Found – aucune liste d’abonnés ne correspond au
list_id
spécifié
-
POST
/api/v1/lists/
(int: list_id)/subscribers
¶ Crée un abonné à la liste correspondant au
list_id
spécifié.Parameters: - list_id (int) – l’identifiant unique de la liste
Request JSON Object: Note
Les champs personnalisés partagés et de listes peuvent aussi être spécificiés comme paramètres. La structure exacte de la liste peut être retrouvée par introspection de la ressource.
Response JSON Object: - id (int) – l’identifiant unique de la liste
- create_datetime (datetime) – le datetime de création de l’abonné
- create_user (int) – l’identifiant unique du créateur‘s de l’abonné
- update_datetime (datetime) – le datetime de dernière modification de l’abonné
- update_user (int) – L’identifiant unique de l’utilisateur ayant fait la dernière modification à l’abonné
- subscription (string) – statut d’abonnement de l’abonné
- email (email) – l’adresse courriel de l’abonné
- first_name (string) – prénom de l’abonné
- last_name (string) – nom de l’abonné
- gender (string) – sexe de l’abonné
- date_of_birth (date) – date de naissance de l’abonné
- language (string) – langue de l’abonné
- region (string) – région de l’abonné
Requête:
POST /api/v1/lists/1/subscribers HTTP/1.1 Host: account.emailicious.com Accept: application/json Content-Type: application/json { "email": "test@example.com", "first_name": "Dolly", "last_name": "Parton", "gender": "f", "date_of_birth": "1946-01-19", "language": "en", "region": "US-TN" }
Réponse:
HTTP/1.1 201 CREATED Vary: Accept Allow: GET, POST, HEAD, OPTIONS Content-Type: application/json { "id": 1, "create_datetime": "2015-11-27T22:14:36.590658Z", "create_user": 1, "update_datetime": "2015-11-27T22:14:36.590711Z", "update_user": 1, "subscription": "active", "email": "test@example.com", "first_name": "Dolly", "last_name": "Parton", "gender": "f", "date_of_birth": "1946-01-19", "language": "en", "region": "US-TN" }
Status Codes: - 201 Created – l’abonné a été créé avec succès
- 400 Bad Request – données d’abonné invalides
- 404 Not Found – aucune liste d’abonnés ne correspond au
list_id
spécifié - 409 Conflict – un abonné avec l’adresse courriel spécifée existe déjà dans cette liste.
Gérer les erreurs 409 Conflict
Lorsqu’une tentative de création ou de modification d’un abonné entraîne une collision du champ adresse courriel l’abonné conflictuel est retourné dans le corps d’une réponse 409 Conflict.
HTTP/1.1 409 CONFLICT Vary: Accept Allow: GET, POST, HEAD, OPTIONS Content-Type: application/json { "id": 2, "create_datetime": "2015-11-27T22:14:36.590658Z", "create_user": 1, "update_datetime": "2015-11-27T22:14:36.590711Z", "update_user": 1, "subscription": "active", "email": "conflict@example.com", "first_name": "Dolly", "last_name": "Parton", "gender": "f", "date_of_birth": "1946-01-19", "language": "en", "region": "US-TN" }
Lorsqu’un tel conflit se produit votre application se doit d’informer l’utilisateur à la source de la requête que ce
email
est déjà abonné à la liste de diffusion ou bien procéder à la mise à jour de l’abonné conflictuel si l’utilisateur à préalablement prouvé qu’il était bien le propriétaire de l’adresse en question.Notez qu’un tel conflit peut également se produire lorsqu’un abonné s’est préalablement désinscrit ou a été supprimé d’une liste. La marche à suivre dans ces cas dépend entièrement de votre logique applicative. Par exemple, vous pourriez vouloir confirmer le réabonnement ou bien simplement ignorer telles exceptions.
-
GET
/api/v1/lists/
(int: list_id)/subscribers/
(int: id)¶ Détails de l’abonné correspondant aux
list_id
etid
spécifiés.Parameters: - list_id (int) – l’identifiant unique de la liste
- id (int) – l’identifiant unique de la liste
Response JSON Object: - id (int) – l’identifiant unique de la liste
- create_datetime (datetime) – le datetime de création de l’abonné
- create_user (int) – l’identifiant unique du créateur‘s de l’abonné
- update_datetime (datetime) – le datetime de dernière modification de l’abonné
- update_user (int) – L’identifiant unique de l’utilisateur ayant fait la dernière modification à l’abonné
- subscription (string) – statut d’abonnement de l’abonné
- email (email) – l’adresse courriel de l’abonné
- first_name (string) – prénom de l’abonné
- last_name (string) – nom de l’abonné
- gender (string) – sexe de l’abonné
- date_of_birth (date) – date de naissance de l’abonné
- language (string) – langue de l’abonné
- region (string) – région de l’abonné
Note
Les champs personnalisés partagés et de listes devraient aussi être présent dans l’abonné retourné. La structure exacte de la liste peut être retrouvée en introspectant la ressource.
Requête:
GET /api/v1/lists/1/subscribers/1 HTTP/1.1 Host: account.emailicious.com Accept: application/json
Réponse:
HTTP/1.1 200 OK Vary: Accept Allow: GET, PUT, PATCH, DELETE, HEAD, OPTIONS Content-Type: application/json { "id": 1, "create_datetime": "2015-11-27T22:14:36.590658Z", "create_user": 1, "update_datetime": "2015-11-28T22:14:36.590711Z", "update_user": 1, "subscription": "active", "email": "test@example.com", "first_name": "Dolly", "last_name": "Parton", "gender": "f", "date_of_birth": "1946-01-19", "language": "en", "region": "US-TN" }
Status Codes: - 404 Not Found – aucun abonné ne correspond aux
list_id
etid
spécifiés.
-
PUT
/api/v1/lists/
(int: list_id)/subscribers/
(int: id)¶ Modifie l’abonné correspondant aux
list_id
etid
spécifiés.Parameters: - list_id (int) – l’identifiant unique de la liste
- id (int) – l’identifiant unique de la liste
Request JSON Object: Note
Les champs personnalisés partagés et de listes peuvent aussi être spécificiés comme paramètres. La structure exacte de la liste peut être retrouvée par introspection de la ressource.
Response JSON Object: - id (int) – l’identifiant unique de la liste
- create_datetime (datetime) – le datetime de création de l’abonné
- create_user (int) – l’identifiant unique du créateur‘s de l’abonné
- update_datetime (datetime) – le datetime de dernière modification de l’abonné
- update_user (int) – L’identifiant unique de l’utilisateur ayant fait la dernière modification à l’abonné
- subscription (string) – statut d’abonnement de l’abonné
- email (email) – l’adresse courriel de l’abonné
- first_name (string) – prénom de l’abonné
- last_name (string) – nom de l’abonné
- gender (string) – sexe de l’abonné
- date_of_birth (date) – date de naissance de l’abonné
- language (string) – langue de l’abonné
- region (string) – région de l’abonné
Requête:
POST /api/v1/lists/1/subscribers/1 HTTP/1.1 Host: account.emailicious.com Accept: application/json Content-Type: application/json { "email": "test@example.com", "first_name": "Altered Dolly", "last_name": "Parton", "gender": "f", "date_of_birth": "1946-01-19", "language": "en", "region": "US-TN" }
Réponse:
HTTP/1.1 200 OK Vary: Accept Allow: GET, PUT, PATCH, DELETE, HEAD, OPTIONS Content-Type: application/json { "id": 1, "create_datetime": "2015-11-27T22:14:36.590658Z", "create_user": 1, "update_datetime": "2015-11-28T22:14:36.590711Z", "update_user": 1, "subscription": "active", "email": "test@example.com", "first_name": "Altered Dolly", "last_name": "Parton", "gender": "f", "date_of_birth": "1946-01-19", "language": "en", "region": "US-TN" }
Status Codes: - 400 Bad Request – données d’abonné invalides
- 404 Not Found – aucun abonné ne correspond aux
list_id
etid
spécifiés. - 409 Conflict – un abonné avec l’adresse courriel spécifée existe déjà dans cette liste.
-
PATCH
/api/v1/lists/
(int: list_id)/subscribers/
(int: id)¶ Modification partielle de l’abonné correspondat aux
list_id
etid
spécifiés.Parameters: - list_id (int) – l’identifiant unique de la liste
- id (int) – l’identifiant unique de la liste
Request JSON Object: Note
Les champs personnalisés partagés et de listes peuvent aussi être spécificiés comme paramètres. La structure exacte de la liste peut être retrouvée par introspection de la ressource.
Response JSON Object: - id (int) – l’identifiant unique de la liste
- create_datetime (datetime) – le datetime de création de l’abonné
- create_user (int) – l’identifiant unique du créateur‘s de l’abonné
- update_datetime (datetime) – le datetime de dernière modification de l’abonné
- update_user (int) – L’identifiant unique de l’utilisateur ayant fait la dernière modification à l’abonné
- subscription (string) – statut d’abonnement de l’abonné
- email (email) – l’adresse courriel de l’abonné
- first_name (string) – prénom de l’abonné
- last_name (string) – nom de l’abonné
- gender (string) – sexe de l’abonné
- date_of_birth (date) – date de naissance de l’abonné
- language (string) – langue de l’abonné
- region (string) – région de l’abonné
Requête:
PATH /api/v1/lists/1/subscribers/1 HTTP/1.1 Host: account.emailicious.com Accept: application/json Content-Type: application/json { "first_name": "Altered Dolly", }
Réponse:
HTTP/1.1 200 OK Vary: Accept Allow: GET, PUT, PATCH, DELETE, HEAD, OPTIONS Content-Type: application/json { "id": 1, "create_datetime": "2015-11-27T22:14:36.590658Z", "create_user": 1, "update_datetime": "2015-11-28T22:14:36.590711Z", "update_user": 1, "subscription": "active", "email": "test@example.com", "first_name": "Altered Dolly", "last_name": "Parton", "gender": "f", "date_of_birth": "1946-01-19", "language": "en", "region": "US-TN" }
Status Codes: - 400 Bad Request – données d’abonné invalides
- 404 Not Found – aucun abonné ne correspond aux
list_id
etid
spécifiés. - 409 Conflict – un abonné avec l’adresse courriel spécifée existe déjà dans cette liste.
-
DELETE
/api/v1/lists/
(int: list_id)/subscribers/
(int: id)¶ Assigne le statut d’abonnement
deleted
à l’abonné correspondant auxlist_id
etid
spécifiésParameters: - list_id (int) – l’identifiant unique de la liste
- id (int) – l’identifiant unique de la liste
Requête:
DELETE /api/v1/lists/1/subscribers/1 HTTP/1.1 Host: account.emailicious.com Accept: application/json
Réponse:
HTTP/1.1 204 NO CONTENT Vary: Accept Allow: GET, PUT, DELETE, HEAD, OPTIONS, PATCH
Status Codes: - 204 No Content – le statut d’abonnement de l’abonné à été modifié avec succès
- 404 Not Found – aucun abonné ne correspond aux
list_id
etid
spécifiés.
-
POST
/api/v1/lists/
(int: list_id)/subscribers/
(int: id)/activate
¶ Assigne le statut d’abonnement
pending
ouactive
à l’abonné correspondant auxlist_id
etid
spécifiés en fonction du processus d’adhésion de la liste ainsi que la valeur du paramètreconfirm
.Parameters: - list_id (int) – l’identifiant unique de la liste
- id (int) – l’identifiant unique de la liste
Request JSON Object: - confirm (boolean) – outrepasse le processus d’adhésion configuré
Response JSON Object: - status (string) – le statut d’abonnement de l’abonné
POST /api/v1/lists/1/subscribers/1/activate HTTP/1.1 Host: account.emailicious.com Accept: application/json
HTTP/1.1 200 OK Vary: Accept Allow: POST, OPTIONS Content-Type: application/json { "status": "active" }
Status Codes: - 400 Bad Request – il n’est pas possible de confirmer l’abonnement à la liste puisqu’aucun processus n’est configuré
- 404 Not Found – aucun abonné ne correspond aux
list_id
etid
spécifiés.
-
POST
/api/v1/lists/
(int: list_id)/subscribers/
(int: id)/unsubscribe
¶ Assigne le statut d’abonnement
unsubscribed
à l’abonné correspondant auxlist_id
etid
spécifiésParameters: - list_id (int) – l’identifiant unique de la liste
- id (int) – l’identifiant unique de la liste
Response JSON Object: - status (string) – le statut d’abonnement de l’abonné
POST /api/v1/lists/1/subscribers/1/unsubscribe HTTP/1.1 Host: account.emailicious.com Accept: application/json
HTTP/1.1 200 OK Vary: Accept Allow: POST, OPTIONS Content-Type: application/json { "status": "unsubscribed" }
Status Codes: - 404 Not Found – aucun abonné ne correspond aux
list_id
etid
spécifiés.