Accéder aux données connectées
Techniques d'accès et de manipulation des données provenant des blocs connectés
Une fois les blocs connectés, vous pouvez accéder aux données des blocs sources dans les blocs de destination en utilisant des balises de connexion et diverses techniques d'accès aux données.
Accès basique aux données
La manière la plus simple d'accéder aux données est d'utiliser des références directes via les balises de connexion :
Techniques avancées d'accès aux données
Accès aux tableaux
Vous pouvez accéder aux éléments d'un tableau en utilisant la notation entre crochets :
// Accéder au premier élément d'un tableau
<block.items[0]>
// Accéder à une propriété spécifique d'un élément de tableau
<block.items[2].name>
// Accéder au dernier élément d'un tableau (dans les blocs Fonction)
const items = input.block.items;
const lastItem = items[items.length - 1];Accès aux propriétés d'objet
Accédez aux propriétés d'un objet en utilisant la notation pointée :
// Accéder à une propriété simple
<block.content>
// Accéder à une propriété imbriquée
<block.data.user.profile.name>
// Accéder à une propriété avec des caractères spéciaux (dans les blocs Fonction)
const data = input.block.data;
const specialProp = data['property-with-dashes'];Références dynamiques
Les références de connexion sont évaluées au moment de l'exécution, permettant un flux de données dynamique dans votre workflow :
// Dans un bloc Fonction, vous pouvez accéder aux données connectées
const userName = input.userBlock.name;
const orderTotal = input.apiBlock.body.order.total;
// Traiter les données
const discount = orderTotal > 100 ? 0.1 : 0;
const finalPrice = orderTotal * (1 - discount);
// Retourner le résultat
return {
userName,
originalTotal: orderTotal,
discount: discount * 100 + '%',
finalPrice
};Transformation des données
Utilisation des blocs Fonction
Les blocs Fonction sont le moyen le plus puissant de transformer les données entre les connexions :
// Exemple : Transformer les données d'une réponse API
const apiResponse = input.apiBlock.data;
const transformedData = {
users: apiResponse.results.map(user => ({
id: user.id,
fullName: `${user.firstName} ${user.lastName}`,
email: user.email.toLowerCase(),
isActive: user.status === 'active'
})),
totalCount: apiResponse.count,
timestamp: new Date().toISOString()
};
return transformedData;Interpolation de chaînes
Vous pouvez combiner des balises de connexion avec du texte statique :
Bonjour, <userBlock.name> ! Votre commande #<orderBlock.id> a été traitée.Contenu conditionnel
Dans les blocs Fonction, vous pouvez créer du contenu conditionnel basé sur les données connectées :
const user = input.userBlock;
const orderTotal = input.orderBlock.total;
let message = `Merci pour votre commande, ${user.name} !`;
if (orderTotal > 100) {
message += " Vous bénéficiez de la livraison gratuite !";
} else {
message += ` Ajoutez ${(100 - orderTotal).toFixed(2)} € de plus pour bénéficier de la livraison gratuite.`;
}
return { message };Gestion des données manquantes
Il est important de gérer les cas où les données connectées pourraient être absentes ou nulles :
Validez toujours les données connectées avant de les utiliser, en particulier lorsque vous accédez à des propriétés imbriquées ou à des éléments de tableau.
Valeurs par défaut
Dans les blocs Fonction, vous pouvez fournir des valeurs par défaut pour les données manquantes :
const userName = input.userBlock?.name || 'Guest'
const items = input.orderBlock?.items || []
const total = input.orderBlock?.total ?? 0Vérifications conditionnelles
Vérifiez si les données existent avant d'accéder aux propriétés imbriquées :
let userEmail = 'No email provided'
if (input.userBlock && input.userBlock.contact && input.userBlock.contact.email) {
userEmail = input.userBlock.contact.email
}Chaînage optionnel
Dans les blocs Fonction, utilisez le chaînage optionnel pour accéder aux propriétés imbriquées en toute sécurité :
const userCity = input.userBlock?.address?.city
const firstItemName = input.orderBlock?.items?.[0]?.nameDébogage des données de connexion
Pour résoudre les problèmes de connexion, ces techniques peuvent être utiles :
- Journaliser les données : Dans les blocs Fonction, utilisez
console.log()pour inspecter les données connectées - Retourner des objets complets : Retournez l'objet d'entrée complet pour voir toutes les données disponibles
- Vérifier les types : Vérifiez les types de données des valeurs connectées
- Valider les chemins : Assurez-vous d'utiliser le bon chemin pour accéder aux données imbriquées
// Exemple de fonction de débogage
function debugConnections() {
console.log('All inputs:', input)
console.log('User data type:', typeof input.userBlock)
console.log('Order items:', input.orderBlock?.items)
return {
debug: true,
allInputs: input,
userExists: !!input.userBlock,
orderItemCount: input.orderBlock?.items?.length || 0,
}
}