Skip to content

Mettre à jour le statut du groupe d’abonnement de l’utilisateur

post

/subscription/status/set

Utilisez cet endpoint pour mettre à jour en masse le statut d’abonnement de jusqu’à 50 utilisateurs sur le tableau de bord de Braze.

Vous pouvez accéder au subscription_group_id d’un groupe d’abonnement en vous rendant sur la page Groupe d’abonnement.

Si vous souhaitez voir des exemples ou tester cet endpoint pour les groupes d’abonnement e-mail :

Si vous souhaitez voir des exemples ou tester cet endpoint pour les groupes d’abonnement SMS et RCS :

Conditions préalables

Pour utiliser cet endpoint, vous aurez besoin d’une clé API avec l’autorisation subscription.status.set.

Comment Braze gère les états d’abonnement orphelins

Un état d’abonnement orphelin est un état d’abonnement stocké pour un numéro de téléphone ou une adresse e-mail qui n’est associé à aucun profil utilisateur. Pour les SMS, l’e-mail, WhatsApp et LINE, Braze gère les états d’abonnement orphelins de la manière suivante :

  • Si un utilisateur est supprimé et qu’il est le seul utilisateur associé à un numéro de téléphone ou une adresse e-mail donné, l’état d’abonnement de ce numéro de téléphone ou de cette adresse e-mail est immédiatement supprimé.
  • Si vous appelez /subscription/status/set ou /v2/subscription/status/set avec un numéro de téléphone ou une adresse e-mail qui n’est actuellement associé à aucun profil utilisateur, Braze stocke cet état d’abonnement pendant 30 jours maximum, après quoi il est automatiquement supprimé.
  • Si un nouveau profil utilisateur est créé avec un numéro de téléphone ou une adresse e-mail pour lequel un état d’abonnement orphelin est stocké, cet utilisateur hérite de l’état d’abonnement stocké, mais uniquement dans la période de 30 jours. Ce délai de grâce de 30 jours est intentionnel et existe pour gérer les conditions de concurrence lorsque la création d’un utilisateur et la définition de l’état d’abonnement de son identifiant de canal se produisent dans des appels API distincts. Un exemple de cette condition de concurrence est lorsqu’une requête /subscription/status/set est traitée pour un numéro de téléphone avant que la requête /users/track créant le profil utilisateur correspondant ne soit traitée.

Limite de débit

Cet endpoint présente une limite de débit de 5 000 requêtes par minute, partagée entre les endpoints /subscription/status/set et /v2/subscription/status/set, comme documenté dans Limites de débit de l’API.

Corps de la demande

1
2
Content-Type: application/json
Authorization: Bearer YOUR-REST-API-KEY
1
2
3
4
5
6
7
8
{
   "subscription_group_id": (required, string) the id of your subscription group,
   "subscription_state": (required, string) available values are "unsubscribed" (not in subscription group) or "subscribed" (in subscription group),
   "external_id": (required*, array of strings) the external ID of the user or users, may include up to 50 IDs,
   "phone": (required*, array of strings in E.164 format) The phone number of the user (must include at least one phone number and at most 50 phone numbers),
   "use_double_opt_in_logic": (optional, boolean) defaults to `false`; when `subscription_state` is "subscribed", set to `true` to enter the user into the SMS double opt-in workflow,
   // SMS and RCS subscription group - you must include one of external_id or phone
 }

* Groupes d’abonnement SMS et RCS : Braze n’accepte que external_id ou phone.

Cette propriété ne doit pas être utilisée pour mettre à jour les informations de profil d’un utilisateur. Utilisez plutôt la propriété /users/track.

Paramètres de la demande

Paramètre Requis Type de données Description
subscription_group_id Requis Chaîne de caractères L’id de votre groupe d’abonnement.
subscription_state Requis Chaîne de caractères Les valeurs disponibles sont unsubscribed (pas dans le groupe d’abonnement) ou subscribed (dans le groupe d’abonnement).
external_id Requis* Tableau de chaînes de caractères L’external_id de l’utilisateur ou des utilisateurs (50 ids max).
email Requis* Chaîne de caractères ou tableau de chaînes de caractères L’adresse e-mail de l’utilisateur, qui peut être transmise sous forme de tableau de chaînes de caractères. Doit inclure au moins une adresse e-mail (maximum 50).

Si plusieurs utilisateurs (external_id) du même espace de travail partagent la même adresse e-mail, Braze met à jour tous les utilisateurs partageant cette adresse e-mail avec les modifications du groupe d’abonnement.
phone Requis* Chaîne de caractères au format E.164 Le numéro de téléphone de l’utilisateur, qui peut être transmis sous forme de tableau de chaînes de caractères. Doit inclure au moins un numéro de téléphone (jusqu’à 50).

Si plusieurs utilisateurs (external_id) du même espace de travail partagent le même numéro de téléphone, Braze met à jour tous les utilisateurs partageant ce numéro de téléphone avec les mêmes modifications du groupe d’abonnement.
use_double_opt_in_logic Facultatif Valeur booléenne S’applique uniquement aux groupes d’abonnement SMS ; ignoré pour les e-mails et les autres types de groupes d’abonnement. La valeur par défaut est false si omis. Pour les groupes d’abonnement SMS, définissez sur true pour faire entrer l’utilisateur dans le workflow de double abonnement SMS lorsque son statut d’abonnement est défini sur subscribed. Les utilisateurs entrant dans le workflow de double abonnement de cette manière reçoivent au maximum une demande d’abonnement par jour, quel que soit le nombre de fois où ils entrent dans le workflow. Si ce paramètre est omis ou défini sur false, les utilisateurs sont abonnés sans passer par le workflow de double abonnement.

Exemples de requêtes

E-mail

1
2
3
4
5
6
7
8
9
10
curl --location --request POST 'https://rest.iad-01.braze.com/subscription/status/set' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer YOUR-REST-API-KEY' \
--data-raw '{
  "subscription_group_id": "subscription_group_identifier",
  "subscription_state": "unsubscribed",
  "external_id": "external_identifier",
  "email": ["[email protected]", "[email protected]"]
}
'

SMS et RCS

1
2
3
4
5
6
7
8
9
10
curl --location --request POST 'https://rest.iad-01.braze.com/subscription/status/set' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer YOUR-REST-API-KEY' \
--data-raw '{
  "subscription_group_id": "subscription_group_identifier",
  "subscription_state": "unsubscribed",
  "external_id": "external_identifier",
  "phone": ["+12223334444", "+11112223333"]
}
'

Exemple de réponse réussie

Le code de statut 201 peut renvoyer le corps de réponse suivant.

1
2
3
{
    "message": "success"
}

Pour que votre mise à jour d’abonnement s’applique aux numéros de téléphone, vérifiez que vous avez envoyé des numéros de téléphone au format E.164 (par exemple, +15555550123), utilisé le bon subscription_group_id et transmis phone (et non phone et email en même temps) dans le même corps de requête. Pour les mises à jour de plusieurs numéros, utilisez le format de tableau phone indiqué dans SMS et RCS.

New Stuff!