Souscrire un client à une newsletter et gérer sa souscription

  • Subscriptions
  • Compte client
  • 3 routes
Comment créer, consulter et mettre à jour une souscription newsletter ?

Ce scénario décrit le parcours de souscription d’un client à une ou plusieurs newsletters Club Med. Il couvre la création initiale de la souscription, la récupération de son état via l’identifiant retourné par l’API, puis sa mise à jour pour ajouter une souscription complémentaire ou déclencher un désabonnement.

Le point d’entrée du parcours est POST/v1/subscriptions, qui retourne un id de souscription et un customer_id. Cet identifiant est ensuite utilisé par GET/v0/subscriptions/{subscription_id} pour relire l’état courant de la souscription, puis par PATCH/v1/subscriptions/{subscription_id} pour exécuter une opération subscribe ou unsubscribe.

Vue d'ensemble

Ce parcours permet de gérer la souscription d’un client aux newsletters Club Med à partir d’un identifiant de souscription technique.

La création de la souscription se fait avec POST/v1/subscriptions. La lecture d’état se fait avec GET/v0/subscriptions/{subscription_id}. La mise à jour se fait avec PATCH/v1/subscriptions/{subscription_id}.

La séquence fonctionnelle la plus crédible est la suivante :

Prérequis

  • Disposer de l’en-tête x-api-key
  • Fournir l’en-tête accept-language avec une locale valide, par exemple fr-FR
  • Pour les opérations de lecture et de mise à jour, disposer d’un subscription_id obtenu lors du POST
  • Pour une opération de souscription complémentaire via PATCH, connaître une valeur valide de newsletter_subscriptions
  • Le détail complet du body de POST/v1/subscriptions n’est pas vérifiable avec les sources disponibles
  • La description de POST/v1/subscriptions indique que des informations personnelles sont attendues, que la ou les newsletters visées doivent être précisées, que le canal de contact doit être indiqué, et que Gender ou Civility doit obligatoirement être fourni

Important

Le POST/v1/subscriptions peut échouer si les opt-ins et les champs fournis ne sont pas cohérents, si une souscription existe déjà pour le client, ou si optin n’est pas à true.

Préparation des IDs de newsletters

La route GET/v0/newsletters existe et permet de récupérer la liste des newsletters souscriptibles, par exemple CLUBMED. Elle est utile en amont du parcours.

Process workflow

Legend:
Obligatoire
Optionnel
1

Créer la souscription newsletter

Obligatoire

Cette route crée une souscription newsletter à partir des informations personnelles du client.

Prérequis

Envoyez les informations de contact, les newsletters ciblées et un canal de contact. Le body doit aussi contenir un Gender ou une Civility selon le contrat Swagger.

Calling CURL

curl -X POST \
  -H "x-api-key: $API_KEY" \
  -H "accept-language: fr-FR" \
  -H "Content-Type: application/json" \
  -d '{"email": "jane@example.com", "country": "FR", "newsletter_subscriptions": ["CLUBMED"], "channel": "EMAIL", "gender": "FEMALE", "optin": true}' \
  "https://api.clubmed.com/v1/subscriptions"

Example answer

{
  "id": "subscription-1",
  "customer_id": "123456789"
}

info: Conservez l'identifiant de souscription renvoyé: il sera nécessaire pour consulter ou mettre à jour le consentement ensuite.


Codes de réponse

  • 200 OK ou 201 Created : la souscription est créée.
  • 400 Bad Request : données incohérentes, abonnement déjà existant ou JSON invalide.
  • 403 Forbidden : le pays ou le canal n'est pas autorisé.
POST/v1/subscriptions
Voir plus
2

Consulter l’état de la souscription

Obligatoire

Cette route retourne l'état courant d'une souscription newsletter.

Prérequis

Munissez-vous de l'identifiant de souscription renvoyé à la création.

Calling CURL

curl -X GET \
  -H "x-api-key: $API_KEY" \
  -H "accept-language: fr-FR" \
  "https://api.clubmed.com/v0/subscriptions/{subscription_id}"

Example answer

{
  "id": "subscription-1",
  "customer_id": "123456789",
  "email": "jane@example.com",
  "phone": "+33600000000",
  "origin_code": "CUSTOMER_ACCOUNT",
  "newsletter_subscriptions": [
    "CLUBMED"
  ],
  "optins": {
    "email": true,
    "sms": false
  }
}

info: Vous pouvez relire les opt-ins, les newsletters actives et l'origine de la souscription avant toute mise à jour.


Codes de réponse

  • 200 OK : la souscription est renvoyée.
  • 400 Bad Request : paramètres invalides.
  • 403 Forbidden : accès refusé.
  • 404 Not Found : souscription introuvable.
GET/v0/subscriptions/{subscription_id}
Voir plus
3

Mettre à jour la souscription newsletter

Obligatoire

Cette route met à jour l'état de la souscription newsletter, par exemple pour se désabonner ou se réabonner.

Prérequis

Utilisez l'identifiant de souscription et l'opération attendue dans le body, comme unsubscribe ou subscribe.

Calling CURL

curl -X PATCH \
  -H "x-api-key: $API_KEY" \
  -H "accept-language: fr-FR" \
  -H "Content-Type: application/json" \
  -d '{"operation": "subscribe", "parameters": {"newsletter_subscriptions": ["CLUBMED"], "origin_code": "CUSTOMER_ACCOUNT"}}' \
  "https://api.clubmed.com/v1/subscriptions/{subscription_id}"

Example answer

HTTP/1.1 204 No Content

info: Le succès est retourné sans body. En cas de doute, relisez la souscription juste après la mise à jour.


Codes de réponse

  • 204 No Content : la souscription est mise à jour.
  • 400 Bad Request : opération invalide ou JSON mal formé.
  • 403 Forbidden : accès refusé.
  • 404 Not Found : souscription introuvable.
PATCH/v1/subscriptions/{subscription_id}
Voir plus