Définir les identifiants de canal

Un identifiant de canal est la valeur d’identification d’un canal de contact et peut servir de cible de ce canal. La définition et le détachement s’exécutent à partir de l’EUID et de l’ID de canal.

L’adresse complète est la Base URL du centre de données plus le chemin d’API ci-dessous. Consultez la Présentation de l’API REST pour obtenir la Base URL, l’API Key et l’API Secret.

Vérification de l'invocation

L'API REST EngageLab utilise l'authentification HTTP Basic comme méthode de vérification. Ajoutez Authorization dans l'en-tête HTTP :

Authorization: Basic ${base64_auth_string}
              
              Authorization: Basic ${base64_auth_string}

            
Afficher ce bloc de code dans la fenêtre flottante

Le base64_auth_string est généré selon l'algorithme suivant : base64(api_key:api_secret).

  • Le nom de l'en-tête est "Authorization" et la valeur est la paire "nom d'utilisateur:mot de passe" encodée en base64 (séparée par deux-points).
  • Pour l'API MA, le nom d'utilisateur correspond à l'APIKey et le mot de passe correspond à l'APISecret. Veuillez configurer une source de données de type API pour obtenir l'APIKey et l'APISecret.

Définir les identifiants de canal

Adresse d'invocation

POST /v1/user/channel

Exemple de requête

En-tête de la requête

> POST /v1/user/channel > Content-Type: application/json > Authorization: Basic N2Q0MzFlNDJkZmE2YTZkNjkzYWMyZDA0OjVlOTg3YWM2ZDJlMDRkOTVhOWQ4ZjBkMQ==
              
              > POST /v1/user/channel
> Content-Type: application/json
> Authorization: Basic N2Q0MzFlNDJkZmE2YTZkNjkzYWMyZDA0OjVlOTg3YWM2ZDJlMDRkOTVhOWQ4ZjBkMQ==

            
Afficher ce bloc de code dans la fenêtre flottante

Corps de la requête

{ "euid": 10362473, "channel_id": 8801, "ma_rid": "1a0018970d1c9f8f8e2", "value": [ "channel_identifier_1", "channel_identifier_2" ] }
              
              {
  "euid": 10362473,
  "channel_id": 8801,
  "ma_rid": "1a0018970d1c9f8f8e2",
  "value": [
    "channel_identifier_1",
    "channel_identifier_2"
  ]
}

            
Afficher ce bloc de code dans la fenêtre flottante

Paramètres de la requête

Champ Type Obligatoire Description
euid Long Oui Identifiant unique de l’utilisateur. L’utilisateur doit déjà exister dans le projet actuel.
channel_id Long Oui Identifiant du canal de contact. Le canal doit déjà exister dans le projet actuel.
ma_rid String Non MA Registration ID. S’il est fourni, les identifiants de canal écrits par cette requête sont liés à ce MA RID et la plateforme est enregistrée. Lorsque ce MA RID est transféré vers un autre EUID, les identifiants de canal qui lui sont liés sont transférés avec lui. S’il est omis, s’il s’agit d’une chaîne vide ou uniquement d’espaces, cette écriture ne crée pas de lien ; un lien déjà présent pour les identifiants écrits par cette requête est effacé. Si la plateforme ne peut pas être lue dans la valeur, la définition échoue.
value Array<String> Oui Liste des identifiants de canal à définir. La liste ne peut pas être vide, et aucun élément ne peut être vide ou composé uniquement d’espaces. Les valeurs sont enregistrées telles quelles : la comparaison distingue les majuscules et les minuscules, et les espaces en début ou en fin ne sont pas retirés. Les valeurs en double dans une même requête sont dédupliquées.

Pour le même couple euid + channel_id, le même identifiant est réécrit à partir de cette requête : l’ancien enregistrement est supprimé et un nouvel enregistrement est écrit, avec l’horodatage de mise à jour réglé sur l’heure actuelle. Les identifiants déjà enregistrés qui sont absents de cette liste restent inchangés. Une nouvelle valeur est ajoutée.

Pour les canaux AppPush/WebPush, le même identifiant sous le même channel_id ne peut appartenir qu’à un seul EUID. Une fois la valeur écrite sur le nouvel EUID, le système la retire de chaque autre EUID qui la possède encore. Les autres types de canal n’utilisent pas ce réattachement d’unicité.

Paramètres de retour

Champ Type Obligatoire Description
code Int Oui Indique si l’appel a réussi. 0 signifie un succès.
message String Oui Description du résultat de l’appel.

Exemple de succès

{ "code": 0, "message": "success" }
              
              {
  "code": 0,
  "message": "success"
}

            
Afficher ce bloc de code dans la fenêtre flottante

Détacher les identifiants de canal

Adresse d'invocation

POST /v1/user/channel/unbind

Exemple de requête

En-tête de la requête

> POST /v1/user/channel/unbind > Content-Type: application/json > Authorization: Basic N2Q0MzFlNDJkZmE2YTZkNjkzYWMyZDA0OjVlOTg3YWM2ZDJlMDRkOTVhOWQ4ZjBkMQ==
              
              > POST /v1/user/channel/unbind
> Content-Type: application/json
> Authorization: Basic N2Q0MzFlNDJkZmE2YTZkNjkzYWMyZDA0OjVlOTg3YWM2ZDJlMDRkOTVhOWQ4ZjBkMQ==

            
Afficher ce bloc de code dans la fenêtre flottante

Corps de la requête

{ "euid": 10362473, "channel_id": 8801, "value": [ "channel_identifier_1", "channel_identifier_2" ] }
              
              {
  "euid": 10362473,
  "channel_id": 8801,
  "value": [
    "channel_identifier_1",
    "channel_identifier_2"
  ]
}

            
Afficher ce bloc de code dans la fenêtre flottante

Paramètres de la requête

Champ Type Obligatoire Description
euid Long Oui Identifiant unique de l’utilisateur.
channel_id Long Oui Identifiant du canal de contact.
value Array<String> Oui Liste des identifiants de canal à détacher. Chaque valeur doit correspondre exactement à un identifiant enregistré. La comparaison distingue les majuscules et les minuscules, et les espaces en début ou en fin ne sont pas retirés.

Le détachement compare les identifiants de canal, pas ma_rid. La requête de détachement n’a pas de champ ma_rid. L’API retire les enregistrements qui correspondent exactement à euid + channel_id + value. Si l’utilisateur n’existe pas, ou s’il n’a pas d’identifiant exactement identique, aucune donnée n’est modifiée et l’API renvoie tout de même un succès. Le détachement ne vérifie pas si channel_id appartient au projet actuel.

Paramètres de retour

Champ Type Obligatoire Description
code Int Oui Indique si l’appel a réussi. 0 signifie un succès.
message String Oui Description du résultat de l’appel.

Exemple de succès

{ "code": 0, "message": "success" }
              
              {
  "code": 0,
  "message": "success"
}

            
Afficher ce bloc de code dans la fenêtre flottante

Codes d'erreur

Lorsque la validation métier échoue, l’API de définition renvoie les codes suivants avec le statut HTTP 400. Le champ message du corps de la réponse est l’explication en anglais, et non la description du tableau ci-dessous. L’API de détachement ne renvoie 55004 que lorsqu’un champ obligatoire est invalide ou que le corps de la requête ne peut pas être analysé. Si l’utilisateur ou l’identifiant n’existe pas, le détachement renvoie tout de même un succès.

Code Description Détail
55004 Paramètre métier invalide Lors de la définition, si channel_id n’existe pas dans le projet actuel, message vaut channel_id does not exist in current project: {channel_id}. Lors de la définition, si la plateforme ne peut pas être lue dans ma_rid, message vaut ma_rid is invalid. Lors de la définition et du détachement, un champ obligatoire manquant, un value vide, un élément vide ou un corps de requête illisible (message vaut alors Invalid request payload format) renvoient aussi ce code.
55108 EUID invalide Renvoyé uniquement par l’API de définition. L’EUID n’existe pas dans le projet actuel. message vaut EUID does not exist: {euid}.

Exemples d’échec

channel_id n’existe pas :

{ "code": 55004, "message": "channel_id does not exist in current project: 8801" }
              
              {
  "code": 55004,
  "message": "channel_id does not exist in current project: 8801"
}

            
Afficher ce bloc de code dans la fenêtre flottante

ma_rid ne peut pas être analysé :

{ "code": 55004, "message": "ma_rid is invalid" }
              
              {
  "code": 55004,
  "message": "ma_rid is invalid"
}

            
Afficher ce bloc de code dans la fenêtre flottante

L’EUID n’existe pas :

{ "code": 55108, "message": "EUID does not exist: 10362473" }
              
              {
  "code": 55108,
  "message": "EUID does not exist: 10362473"
}

            
Afficher ce bloc de code dans la fenêtre flottante
Icon Solid Transparent White Qiyu
Contactez-nous