For the complete documentation index, see llms.txt. This page is also available as Markdown.

Helpers JavaScript server-side

Cet article décrit les API de destination server-side.

decodeURI

Décode tous les caractères encodés dans l'URI fourni. Renvoie un string qui représente l'URI décodé. Renvoie undefined lorsqu'on lui fournit une entrée invalide.

Syntaxe

decodeUri(encoded_uri);

Exemple

const decodeUri = require('decodeUri');

const decodedUrl = decodeUri(data.encodedUrl);
if (decodedUrl) {
  // ...
}
Paramètre
Type
Description

encoded_uri

string

Un URI qui a été encodé par encodeUri() ou par d'autres moyens.

decodeUriComponent

Décode tous les caractères encodés dans le composant d'URI fourni. Renvoie un string qui représente le composant d'URI décodé. Renvoie undefined lorsqu'on lui fournit une entrée invalide.

Syntaxe

decodeUriComponent(encoded_uri_component);

Exemple

Paramètre
Type
Description

encoded_uri_component

string

Un composant d'URI qui a été encodé par encodeUriComponent() ou par d'autres moyens.

encodeUri

Renvoie un Uniform Resource Identifier (URI) encodé en échappant les caractères spéciaux. Renvoie un string qui représente la chaîne fournie encodée sous forme d'URI.

Syntaxe

Exemple

Paramètre
Type
Description

uri

string

Un URI complet.

encodeUriComponent

Renvoie un Uniform Resource Identifier (URI) encodé en échappant les caractères spéciaux. Renvoie un string qui représente la chaîne fournie encodée sous forme d'URI.

Syntaxe

Exemple

Paramètre
Type
Description

str

string

Un composant d'URI.

fromBase64

Décode une chaîne encodée en base64. Renvoie undefined si l'entrée est invalide.

Syntaxe

Exemple

Paramètre
Type
Description

base64EncodedString

string

Chaîne encodée en base64.

generateRandom

Renvoie un nombre aléatoire number (entier) dans l'intervalle donné.

Syntaxe

Exemple

Paramètre
Type
Description

min

number

Valeur potentielle minimale de l'entier renvoyé (inclus).

max

number

Valeur potentielle maximale de l'entier renvoyé (inclus).

getAllEventData

Renvoie une copie des données d'événement.

Syntaxe

Exemple d'utilisation

Notez que les données d'événement peuvent contenir plus de propriétés que ce que vous avez envoyé initialement, en raison des propriétés système ajoutées automatiquement sur les événements web et les événements app sdk.

Exemple de données :

Si vous envoyez cet événement web :

Alors la fonction getAllEventData() renverra cet objet :

getCookieValues

Renvoie un tableau contenant les valeurs de tous les cookie portant le nom donné.

Syntaxe

Exemple


Paramètres

Paramètre
Type
Description

name

string

Nom du cookie.

noDecode

boolean

Si true, les valeurs de cookie ne seront pas décodées avant d'être renvoyées. Par défaut, false.

getEventData

Renvoie une copie de la valeur au chemin donné dans les données d'événement. Renvoie undefined s'il n'y a pas de données d'événement ou s'il n'y a pas de valeur au chemin donné.

Syntaxe

Exemple

Paramètres

Paramètre
Type
Description

keyPath

de

Le chemin de la clé, où les composants du chemin sont séparés par des points. Les composants du chemin peuvent être des clés dans un objet ou des indices dans un tableau. Si keyPath ce n'est pas une chaîne, il est converti en chaîne.

getRemoteAddress

Renvoie une string représentation de l'adresse IP d'origine de la requête, par exemple 62.123.65.780 pour IPv4 ou 2001:0db8:85a3:0:0:8a2e:0370:1234 pour IPv6

Syntaxe

getTimestamp

Obsolète. Préférez getTimestampMillis.

Renvoie une number qui représente l'heure actuelle en millisecondes depuis l'époque Unix, telle que renvoyée par Date.now().

Syntaxe

getTimestampMillis

Renvoie une number qui représente l'heure actuelle en millisecondes depuis l'époque Unix, telle que renvoyée par Date.now().

Syntaxe

getType

Renvoie une chaîne décrivant le type de la valeur donnée.

Type d'entrée
Valeur renvoyée

string

'string'

number

'number'

boolean

'boolean'

null

'null'

undefined

'undefined'

Tableau

'array'

Objet

'object'

Fonction

'function'

Syntaxe

Exemple

Paramètres

Paramètre
Type
Description

valeur

de

Valeur d'entrée.

logToConsole

Enregistre ses arguments dans la console.

Ces journaux sont visibles dans la console de Destination Builder.

Exemple

Syntaxe

Paramètres

La fonction prend un ou plusieurs arguments, chacun étant converti en chaîne si nécessaire, puis consigné dans la console.

makeInteger

Convertit la valeur donnée en number (entier).

Syntaxe

Paramètres

Paramètre
Type
Description

valeur

tout type

La valeur à convertir.

makeNumber

Convertit la valeur donnée en number.

Syntaxe

Paramètres

Paramètre
Type
Description

valeur

tout type

La valeur à convertir.

makeString

Renvoie la valeur donnée sous forme de string.

Syntaxe

Paramètres

Paramètre
Type
Description

valeur

tout type

La valeur à convertir.

parseUrl

Renvoie un objet qui contient toutes les parties composantes d'une URL donnée, similaire à URL objet.

Cette API renverra undefined undefined pour toute URL malformée. Pour des URL correctement formatées, les champs absents de la chaîne d'URL auront la valeur d'une chaîne vide, ou, dans le cas de searchParams, un objet vide.

L'objet renvoyé aura les champs suivants :

Syntaxe

Exemple

Paramètres

Paramètre
Type
Description

url

string

L'URL complète qui sera analysée.

sha256

Calcule le condensat SHA-256 de l'entrée et appelle un callback avec le condensat encodé en base64, sauf si le options objet options spécifie un encodage de sortie différent.

Cette signature et ce comportement de l'API correspondent à sha256 l'API pour les conteneurs web ; cependant, les Custom Templates dans les conteneurs serveur doivent utiliser la sha256Sync API pour un code plus simple.

Syntaxe

Exemple

Paramètres

Paramètre
Type
Description

input

string

La chaîne à hacher.

onSuccess

fonction

Appelé avec le condensat résultant, encodé en base64, sauf si l' options objet options spécifie un encodage de sortie différent.

options

object

Facultatif objet options permet de spécifier l'encodage de sortie. S'il est spécifié, l'objet doit contenir la clé outputEncoding avec comme valeur l'un de base64 ou hex.

sha256Sync

Calcule et renvoie le condensat SHA-256 de l'entrée, encodé en base64, sauf si le options objet options spécifie un encodage de sortie différent.

Syntaxe

Exemple

Paramètres

Paramètre
Type
Description

input

string

La chaîne à hacher.

options

object

Facultatif objet options permet de spécifier l'encodage de sortie. S'il est spécifié, l'objet doit contenir la clé outputEncoding avec comme valeur l'un de base64 ou hex.

signHmac

Génère une signature HMAC pour le payload donné, en utilisant sha256 et base64 l'encodage par défaut, sauf si l' options objet options indique le contraire. Les objets passés en tant que payload sont automatiquement JSON.stringify'd. Renvoie un string.

Syntaxe

Exemple

Paramètres

Paramètre
Type
Description

payload

string|object

Les données à signer. Les objets sont automatiquement convertis en chaînes JSON.

secret

string

La clé secrète utilisée pour la génération HMAC.

options

object

Facultatif Objet options permettant de personnaliser l'algorithme et l'encodage de sortie. Voir les détails des options ci-dessous.

Options

Propriété
Type
Par défaut
Description

alg

string

'sha256'

L'algorithme de hachage. Valeurs prises en charge : 'sha256', 'sha1', 'sha512', 'sha384', 'md5' et autres algorithmes de condensat OpenSSL.

outputEncoding

string

'base64'

L'encodage de sortie. Valeurs prises en charge : 'base64', 'base64url', 'hex', 'binary' (latin1).

toBase64

Encode une chaîne en base64.

Syntaxe

Exemple

Paramètres

Paramètre
Type
Description

input

string

Chaîne à encoder.

JSON

Renvoie un objet qui fournit des fonctions JSON.

Le parse() la fonction analyse une chaîne JSON pour construire la valeur ou l'objet décrits par la chaîne. Si la valeur ne peut pas être analysée (JSON mal formé), la fonction renverra undefined. Si la valeur d'entrée n'est pas une chaîne, l'entrée sera convertie en chaîne.

Le stringify() la fonction convertit l'entrée en chaîne JSON. Si la valeur ne peut pas être sérialisée (ex. l'objet a un cycle), la méthode renverra undefined.

Syntaxe

Exemple


Math

Un objet fournissant Math fonctions.

Syntaxe

Paramètres

Les paramètres des fonctions Math sont convertis en nombres.

sendHttpGet

Effectue une requête HTTP GET vers l'URL spécifiée, et invoque un callback avec la réponse une fois la requête terminée ou expirée.

Syntaxe

Exemple

Paramètres

Paramètre
Type
Description

url

string

L'URL de la requête.

callback

fonction

Un callback facultatif à invoquer à la fin de la requête, en cas d'erreur ou de timeout. Il est appelé avec le code d'état de la réponse, le les en-têtes de la réponse, et le corps de la réponse (ou undefined s'il n'y avait pas de corps de réponse). Si la requête a échoué (par ex. URL invalide, aucune route vers l'hôte, échec de la négociation SSL, etc.), le callback sera appelé avec un code d'état de réponse égal à zéro, aucun en-tête, et un corps undefined. Si l' 'timeout' option a été définie et que la requête a expiré, le callback sera appelé avec un code d'état de réponse égal à -1, aucun en-tête, et un corps undefined.

options

object

Options de requête facultatives. Les options prises en charge sont headers, timeout. Des options avancées peuvent être ajoutées dans extraOptions

Options

  • headers: En-têtes de requête supplémentaires représentés sous forme d'objet.

  • timeout: Le timeout, en millisecondes, avant l'abandon de la requête.

  • extraOptions: Options avancées (ex : {strictSSL:true})

sendHttpRequest

Effectue une requête HTTP vers l'URL spécifiée et appelle un callback avec la réponse une fois la requête terminée ou expirée.

Syntaxe

Exemple

Paramètres

Paramètre
Type
Description

url

string

L'URL de la requête.

callback

fonction

Un callback facultatif à invoquer à la fin de la requête, en cas d'erreur ou de timeout. Il est appelé avec le code d'état de la réponse, le les en-têtes de la réponse, et le corps de la réponse (ou undefined s'il n'y avait pas de corps de réponse). Si la requête a échoué (par ex. URL invalide, aucune route vers l'hôte, échec de la négociation SSL, etc.), le callback sera appelé avec un code d'état de réponse égal à zéro, aucun en-tête, et un corps undefined. Si l'option 'timeout' a été définie et que la requête a expiré, le callback sera appelé avec un code d'état de réponse égal à -1, aucun en-tête, et un corps undefined.

options

object

Options de requête facultatives. Les options prises en charge sont : headers, method, et timeout. Les clés d'option inconnues sont ignorées. Des options avancées peuvent être ajoutées dans extraOptions.

body

string

Corps de requête facultatif.

Options

  • headers: En-têtes de requête supplémentaires.

  • method: La méthode de requête, la valeur par défaut est 'GET'.

  • timeout: Le timeout, en millisecondes, avant l'abandon de la requête.

  • extraOptions: Options avancées (ex : {strictSSL:true})

md5Sync

Calcule et renvoie le md5 empreinte de l'entrée.

Syntaxe

Exemple

templateDataStorage

Le templateDataStorage helper permet le stockage temporaire et la récupération de données, telles que des tokens API, pendant l'exécution du script. Il est particulièrement utile pour mettre en cache des données réutilisables afin de réduire les appels API redondants. Les données stockées dans templateDataStorage persiste sur le serveur qui exécute le template. Comme les templates s'exécutent sur plusieurs serveurs, et que chaque serveur peut avoir plusieurs instances, il n'est pas garanti que les données stockées soient accessibles pour toutes les exécutions ultérieures du template.

Syntaxe

Exemple : gestion des tokens API

Méthode
Description

setItemCopy(key, value)

Stocke une valeur sous la clé spécifiée. Écrase la valeur si la clé existe déjà.

getItemCopy(key)

Récupère la valeur associée à la clé spécifiée. Renvoie undefined si la clé n'existe pas.

removeItemCopy(key)

Supprime la valeur associée à la clé spécifiée.

Paramètre
Type
Description

clé

string

L'identifiant unique des données à stocker/récupérer.

valeur

de

Les données à stocker (par setItemCopy).

Mis à jour

Ce contenu vous a-t-il été utile ?