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 and deleted
  • 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:
 
  • 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 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:

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.

OPTIONS /api/v1/lists/(int: list_id)/subscribers

Détails introspectif de la ressource « abonnés ».

Parameters:
  • list_id (int) – l’identifiant unique de la liste

Requête:

OPTIONS /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

{
    "name": "Subscriber List",
    "renders": [
        "application/json",
        "text/html"
    ],
    "parses": [
        "application/json",
        "application/x-www-form-urlencoded",
        "multipart/form-data"
    ],
    "actions": {
        "POST": {
            "id": {
                "type": "integer",
                "required": false,
                "read_only": true,
                "label": "ID"
            },
            "create_datetime": {
                "type": "datetime",
                "required": false,
                "read_only": true,
                "label": "Create datetime"
            },
            "create_user": {
                "type": "field",
                "required": false,
                "read_only": true,
                "label": "Create user"
            },
            "update_datetime": {
                "type": "datetime",
                "required": false,
                "read_only": true,
                "label": "Update datetime"
            },
            "update_user": {
                "type": "field",
                "required": false,
                "read_only": true,
                "label": "Update user"
            },
            "subscription": {
                "type": "field",
                "required": false,
                "read_only": true,
                "label": "Subscription"
            },
            "email": {
                "type": "email",
                "required": true,
                "read_only": false,
                "label": "Email",
                "max_length": 254
            },
            "first_name": {
                "type": "string",
                "required": false,
                "read_only": false,
                "label": "First name",
                "max_length": 100
            },
            "last_name": {
                "type": "string",
                "required": false,
                "read_only": false,
                "label": "Last name",
                "max_length": 100
            },
            "gender": {
                "type": "choice",
                "required": false,
                "read_only": false,
                "label": "Gender",
                "choices": [
                    {
                        "display_name": "Unknown",
                        "value": ""
                    },
                    {
                        "display_name": "Male",
                        "value": "m"
                    },
                    {
                        "display_name": "Female",
                        "value": "f"
                    }
                ]
            },
            "date_of_birth": {
                "type": "date",
                "required": false,
                "read_only": false,
                "label": "Date of birth"
            },
            "language": {
                "type": "field",
                "required": false,
                "read_only": false,
                "label": "Language",
                "help_text": "ISO-639-1 language code."
            },
            "region": {
                "type": "field",
                "required": false,
                "read_only": false,
                "label": "Region",
                "help_text": "ISO-3166-1 country or ISO-3166-2 region code."
            }
        }
    }
}

Introspection des champs personnalisés

Vous pouvez retrouver le nom et type des champs personnalisés de la liste spécifié à partir de la section actions.POST de la réponse.

Status Codes:
  • 404 Not Found – aucune liste d’abonnés ne correspond au list_id spécifié
GET /api/v1/lists/(int: list_id)/subscribers/(int: id)

Détails de l’abonné correspondant aux list_id et id 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 et id spécifiés.
PUT /api/v1/lists/(int: list_id)/subscribers/(int: id)

Modifie l’abonné correspondant aux list_id et id spécifiés.

Parameters:
  • list_id (int) – l’identifiant unique de la liste
  • id (int) – l’identifiant unique de la liste
Request JSON Object:
 
  • 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 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:
PATCH /api/v1/lists/(int: list_id)/subscribers/(int: id)

Modification partielle de l’abonné correspondat aux list_id et id spécifiés.

Parameters:
  • list_id (int) – l’identifiant unique de la liste
  • id (int) – l’identifiant unique de la liste
Request JSON Object:
 
  • 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 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:
DELETE /api/v1/lists/(int: list_id)/subscribers/(int: id)

Assigne le statut d’abonnement deleted à l’abonné correspondant aux list_id et id spécifiés

Parameters:
  • 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 et id spécifiés.
POST /api/v1/lists/(int: list_id)/subscribers/(int: id)/activate

Assigne le statut d’abonnement pending ou active à l’abonné correspondant aux list_id et id spécifiés en fonction du processus d’adhésion de la liste ainsi que la valeur du paramètre confirm.

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 et id spécifiés.
POST /api/v1/lists/(int: list_id)/subscribers/(int: id)/unsubscribe

Assigne le statut d’abonnement unsubscribed à l’abonné correspondant aux list_id et id spécifiés

Parameters:
  • 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 et id spécifiés.