Pour en savoir plus sur les déclencheurs en général, consulter l'article Comprendre les déclencheurs.
L'événement de déclenchement du serveur HTTP survient si des données sont reçues sur le socket surveillé (numéro d'adresse IP et de port).
Contrairement au déclencheur TCP/IP, les données reçues ne sont pas un flux de données brutes mais comportent l'entête HTTP normalisée. Les applications tierces doivent utiliser les méthodes POST ou GET. Elles doivent fournir des données dans le corps du message ou la chaîne de requête. Vous pouvez utiliser les deux types de médias dans le corps du message, type MIME ou type Contenu. NiceLabel Automation reçoit le message et extrait les données pertinentes du contenu du message en utilisant un filtre.
Utilisation typique : Le système existant exécute une transaction qui envoie les données au serveur NiceLabel Automation formatées en message HTTP POST sur un socket spécifique. Les données envoyées peuvent être structurées en format CSV, XML etc., ou dans un ancien format. Dans chaque cas, NiceLabel Automation va lire les données, analyser les valeurs en utilisant des filtres et les imprimer sur les étiquettes. Pour plus d'informations concernant l'analyse et l'extraction de données, consulter l'article Comprendre les filtres.
Fourniture de données
Fournir les données du déclencheur HTTP en utilisant l'une des méthodes suivantes. Les méthodes peuvent être également combinées si nécessaire et utilisées ensemble dans la même requête HTTP.
Données de la chaîne de requête
Une chaîne de requête est la partie de l'URL (localisateur de ressource uniforme) qui contient les données à passer au déclencheur HTTP.
Exemple d'URL typique contenant une chaîne de requête :
http://server/path/?query_string
Le point d'interrogation est utilisé comme séparateur et ne fait pas partie de la chaîne de requête.
La chaîne de requête est composée d'une série de paires nom-valeur
. Dans chaque paire, le nom et la valeur du champ sont séparés par le signe égal (=). Les séries de paires sont séparées par le signe esperluette (&). Une chaîne de requête typique fournit des valeurs pour les champs (variables) dans le format suivant :
field1=value1&field2=value2&field3=value3
Le déclencheur HTTP active le support pour l'extraction des valeurs de tous les champs et pour les stocker dans les variables ayant le même nom. Par conséquent, vous n'avez pas à définir de filtre pour extraire les valeurs à partir de la chaîne de requête.
-
Il n'y a pas besoin de définir de variables dans le déclencheur pour les remplir avec les valeurs de la chaîne de requête. NiceLabel Automation extrait toutes les variables de la chaîne de requête et envoie leurs valeurs à l'étiquette active. Si des variables de même nom existent dans l'étiquette, leurs valeurs seront remplies avec Automation. Si les variables n'existent pas dans l'étiquette, Automation ignore leurs valeurs sans rapport d'erreurs.
-
Si une action requiert des valeurs variables, les définir en faisant correspondre les variables dans le déclencheur. Pour collecter toutes les valeurs fournies par la chaîne de requête, définir simplement des variables ayant le même nom que les champs de la chaîne de requête. Pour l'exemple ci-dessus, il faut définir les variables de déclencheurs avec les noms
champ1
,champ2
etchamp3
.
Utiliser la méthode de requête GET HTTP pour procurer la chaîne de requête.
Données dans le corps de la requête HTTP
Utiliser la méthode de requête POST pour fournir le message dans le corps de la requête HTTP.
Vous pouvez envoyer n'importe quel type de données ou utiliser n'importe quelle structure de données dans le corps. Vous devez seulement vous assurer que vous pouvez gérer les données en utilisant les filtres NiceLabel Automation. Le contenu peut être formaté en XML, CSV ou texte brut. Le contenu envoyé peut aussi être des données binaires (encodées en Base64). Ne pas oublier d'analyser les données avec des filtres.
Pour influencer la structure du message entrant, utiliser des structures normalisées, telles que XML ou CSV, pour simplifier la configuration du filtre.
Utiliser la méthode de requête POST HTTP pour fournir les données dans le corps du message.
Général
Cette section permet de configurer les principaux paramètres de ce déclencheur.
-
Nom : Spécifie le nom unique du déclencheur. Les noms permettent de distinguer les différents déclencheurs lors de la configuration dans Automation Builder puis quand vous les exécutez dans Automation Manager.
-
Description : Vous permet de décrire le rôle de ce déclencheur. Aide les utilisateurs avec une explication courte sur ce que fait le déclencheur.
Communication
Cette section permet de configurer le numéro du port obligatoire et les options facultatives de retour d'informations. Utiliser les Codes de Réponse standard HTTP pour indiquer le succès de l'action d'exécution. Pour des objectifs plus avancés, vous pouvez aussi renvoyer le contenu personnalisé à l'application fournissant les données. Ce contenu peut être une chaîne de retour d'informations simple ou des données binaires comme la prévisualisation de l'étiquette ou le flux d'impression.
L'URL typique pour se connecter au déclencheur HTTP est la suivante :
http://server:port/path/?query_string
-
Serveur : Ceci est l'adresse IP ou FQDN de la machine sur laquelle NiceLabel Automation est installé.
-
Port : Numéro du port sur lequel sont reçues les données entrantes. Utiliser un numéro de port qui n'est pas utilisé par une autre application. Si le port sélectionné est utilisé, il sera impossible de démarrer le déclencheur dans Automation Manager. Pour plus d'informations concernant les problèmes de sécurité, voir l'article Sécuriser l'accès aux déclencheurs.
Note
S'il y a un hébergement multiple activé sur le serveur (plusieurs adresses IP sur une ou plusieurs cartes réseau), NiceLabel Automation répondra au port défini pour toutes les adresses IP.
-
Chemin : Spécifie le chemin optionnel dans l'URL. Cette fonctionnalité permet au NiceLabel Automation d'exposer plusieurs déclencheurs HTTP sur le même port. Le client utilise les déclencheurs au travers d'un même port dans une syntaxe de type REST, causant l'activation de différents déclencheurs par une URL différente. En cas de doute, utiliser le chemin par défaut (\).
-
Connexion sécurisée (HTTPS) : Elle active la couche de transport sécurisée pour vos messages HTTP et évite l'écoute clandestine. Pour plus d'informations sur la manière de la configurer, voir l'article Utilisation de la couche de transport sécurisée (HTTPS).
-
Chaîne de requête : Spécifie les paires nom-valeur dans l'URL. C'est un paramètre facultatif. Les données sont habituellement fournies dans le corps de la requête HTTP.
-
Attendre la fin d'exécution du déclencheur : Le protocole HTTP oblige le destinataire (dans ce cas NiceLabel Automation) à renvoyer une réponse numérique à l'expéditeur en indiquant l'état du message reçu. Par défaut, NiceLabel Automation répond avec le code 200. Cela indique que Automation a bien reçu les données, mais ne donne pas d'informations quant à la réussite des actions de déclenchement.
Cette option spécifie qu'un déclencheur n'envoie pas de réponse immédiatement après avoir reçu les données, mais attend que toutes les actions aient été exécutées. Après ça, il envoie le code de réponse indiquant la réussite de l'exécution de l'action. Avec cette option est activée, la réponse peut être personnalisée et comporter des données (par ex. : la réponse à une requête HTTP est l'aperçu de l'étiquette en format PDF).
Voici les codes de réponse HTTP :
Code de réponse HTTP
Description
200
Toutes les actions sont réussies.
401
Non autorisé, erreur dans l'identifiant ou le mot de passe.
500
Erreur au cours de l'exécution de l'action.
Note
Pour envoyer un retour d'informations concernant le processus d'impression, il faut activer le mode d'impression synchrone. Pour plus d'informations, consulter l'article Mode d'impression synchrone.
-
Nombre maximum de requêtes simultanées : Spécifie le nombre maximum de connexions entrantes simultanées. Autant de clients peuvent envoyer des données au déclencheur simultanément. Ce nombre dépend aussi des performances physiques de votre serveur.
Plus d’informations sur Traitement parallèle.
-
Type de réponse : Spécifie le type du message de réponse. Les types de médias Internet fréquemment utilisés (connus comme types MIME ou types Content) sont prédéfinis dans le menu déroulant. Si votre type de média n'est pas disponible dans la liste, le saisir simplement vous-même. Automation envoie les données de réponse de sortie en tant que retour d'informations, formatées dans le type de média défini. L'option Variable active le type de média variable. Dans ce cas, il faut sélectionner ou créer la variable qui contiendra le type de média.
Note
Si le type de contenu n'est pas spécifié, NiceLabel Automation utilise
application/octet-stream
par défaut. -
Données de réponse : Définit le contenu du message de réponse. Exemples de réponse HTTP : messages d'erreur personnalisés, aperçu d'étiquette, fichiers PDF, fichier de flux d'impression (fichier spouleur), fichier XML avec les détails du moteur d'impression plus l'aperçu d'étiquette (encodé en chaîne Base64). Les possibilités sont infinies.
Pour sortir seulement un contenu binaire (tel qu'un aperçu de l'étiquette ou un flux d'impression), il faut sélectionner le type de média approprié, par exemple
image/jpeg
ouapplication/octet-stream
.
-
Entêtes additionnelles : Permet de définir des entêtes MIME pour le message de réponse HTTP.
La syntaxe de l'entête de la réponse et un exemple sont disponibles dans la section Action requête HTTP.
Astuce
Dans les données de réponse et les entêtes additionnels, le contenu peut être fixe, un mixte de contenu fixe et variable, ou contenu variable seul. Pour insérer un contenu variable, cliquer sur le bouton avec une flèche à droite de la zone de données et insérer la variable de la liste contenant les données à utiliser. Pour plus d'informations, consulter l'article Utiliser des valeurs composées.
Authentification
-
Aucune : Aucune méthode d'authentification n'est utilisée.
-
Utilisateur : Spécifie que les messages entrants comprennent le nom d'utilisateur et mot de passe. Utilisé, le déclencheur acceptera seulement les messages HTTP dont les informations d'identification sont correctes. Pour plus d'informations concernant les problèmes de sécurité, voir l'article Sécuriser l'accès aux déclencheurs.
-
Groupe d'application (défini dans NiceLabel Control Center) : Comme pour l'authentification Utilisateur cette option spécifie aussi que le message entrant doit comporter le nom et le mot de passe de l'utilisateur. Utilisé, le déclencheur acceptera seulement les messages HTTP dont les informations d'identification correspondent à celles des utilisateurs NiceLabel Control Center appartenant à un groupe d'application spécifique.
-
Groupe : Plusieurs groupes d'application peuvent être définis sur NiceLabel Control Center. Pour choisir le groupe qui va être autorisé à accéder au déclencheur de Serveur HTTP, utiliser le menu déroulant Groupe. Le groupe sélectionné et ses utilisateurs doivent être mis en Actifs quand le déclencheur démarre.
Note
Le groupe avec un nom spécifié doit exister sur NiceLabel Control Center lorsque le déclencheur est exécuté. N'importe quel nom de groupe peut être utilisé dans la configuration de Automation Builder. Mais il faut que le nom défini à la fin dans NiceLabel Control Center corresponde à celui qui est défini dans la configuration.
Astuce
Les utilisateurs s'authentifient avec leur identifiant et mot de passe tels que définis dans NiceLabel Control Center , onglet Utilisateurs. Se référer au Guide utilisateur de NiceLabel Control Center pour plus de détails sur la gestion des utilisateurs (section Utilisateurs et Groupes).
-
Autre
Les options de la section Commentaires du moteur d'impression spécifient les paramètres de communication qui vous permettent de recevoir un retour d'informations du moteur d'impression.
-
Impression supervisée : Active le mode d'impression synchrone. Utiliser cette option pour renvoyer les informations sur l'état du travail d'impression à une application tierce. Pour plus d'informations, consulter l'article Mode d'impression synchrone.
Les options de la section Traitement de données permettent de préciser s'il faut couper les données pour les ajuster à la variable, ou ignorer les variables manquantes dans l'étiquette. Par défaut, va dire qu'il y a une erreur et interrompre le processus d'impression en cas d'enregistrement de valeurs trop longues dans les variables d'étiquettes, ou de paramétrage de valeurs dans des variables inexistantes.
-
Ignorer le contenu variable excessif : tronque les valeurs des données qui dépassent la longueur de la variable telle que définie dans l'éditeur d'étiquettes pour qu'elles s'adaptent. Cette option s'applique lors du paramétrage de valeurs de variables dans les filtres des fichiers de commande et au paramétrage de valeurs de variables de déclencheurs dans les variables d'étiquette ayant le même nom.
Exemple 24. Exemple
La variable de l'étiquette accepte un maximum de 5 caractères. Avec cette option activée, toute valeur plus longue que 5 caractères est tronquée aux 5 premiers caractères. Si la valeur est 1234567, ignore les chiffres 6 et 7.
-
Ignorer les variables d'étiquettes manquantes : Lors de l'impression de fichiers de commande (tels qu'un fichier JOB), le processus d'impression ignore toutes les variables qui sont :
-
spécifiées dans le fichier de commande (en utilisant la commande SET)
-
non définies sur l'étiquette
La même chose se produit si vous définissez une zone d'assignation dans un filtre pour extraire toutes les paires nom-valeur, mais votre étiquette contient moins de variables.
Lorsque vous paramétrez des valeurs dans des variables d'étiquettes inexistantes, signale une erreur. Si cette option est activée, l'impression continue.
-
Les options dans la section Script spécifient les possibilités de script.
-
Langage de script : Sélectionne le langage de script pour le déclencheur. Toutes les actions Exécuter le script d'un même déclencheur utilisent le même langage.
Les options de la section Enregistrer les données reçues spécifient les commandes disponibles pour les données reçues par le déclencheur.
-
Enregistrer les données reçues par le déclencheur vers le fichier : Activer cette option pour enregistrer les données reçues par le déclencheur. L'option Variable active le nom de fichier variable. Sélectionner une variable qui contient le chemin et le nom du fichier.
-
En cas d'erreur, enregistrer les données reçues par le déclencheur vers le fichier : Activer cette option pour enregistrer les données dans le déclencheur si une erreur survient lors de l'action d'exécution. Activer cette option pour récupérer les données qui ont causé l'erreur et résoudre le problème.
Note
Il faut activer la prise en charge de l'impression supervisée. Autrement, ne peut pas détecter d'erreurs lors de l'exécution. Pour plus d'informations, consulter l'article Mode d'impression synchrone.
Note
enregistre les données reçues dans un fichier temporaire. Le fichier temporaire est supprimé immédiatement après la fin de l'exécution du déclencheur. La variable interne
DataFileName
pointe vers ce fichier. Pour plus d'informations, consulter l'article Variables internes.