Un webhook entrant permet le transfert de données de l'application personnalisée vers ADManager Plus. Pour configurer ceci, fournissez les détails requis dans les sections Paramètres du point de terminaison et Paramètres de réponse.
Paramètres du point de terminaison
- Sous Webhook entrant, sous Configuration du point de terminaison API, cliquez sur Paramètres du point de terminaison pour fournir les détails du point de terminaison répertoriés ci-dessous. Si nécessaire, vous pouvez configurer plusieurs points de terminaison pour une application personnalisée à l'aide du bouton + Ajouter un point de terminaison API .

Paramètres de réponse
- Dans la Paramètres de réponse section,
pour spécifier si les données doivent être récupérées à partir de l'en-tête de réponse, du corps de réponse, du code d'état de réponse ou de toute entrée personnalisée. Save ou Une fois terminé, cliquez surTest et enregistrement

- Cliquez sur . Une fenêtre de réponse affichera tous les éléments demandés. Source de données - Mappage des attributs LDAP
- pour mettre en correspondance les points de terminaison et mapper les attributs LDAP AD avec les attributs respectifs de l'application personnalisée. Entrez le et Description Nom de la configuration et sélectionnez la Catégorie d'automatisation
- Dans la dans le menu déroulant. Sélectionnez le champ Point de terminaison , cochez la case du point de terminaison de l'application personnalisée et dans la liste déroulante
- Dans la Clé primaire sélectionnez l'attribut unique pour les utilisateurs (employeeIdentifier, username, etc.), mais qui conserve la même valeur dans tous les points de terminaison. Si vous avez configuré des points de terminaison dépendants, sélectionnez également l'attribut unique pour ces points de terminaison. Mappage des attributs champ, sélectionnez l'attribut dans la liste déroulante
Remarque:
- Cliquez sur Save.
executionTime
: Spécifie le délai d'exécution pour chaque objet pour les actions non basées sur des modèles. Comment utiliser les webhooks entrants Après avoir configuré un webhook entrant, vous pouvez l'utiliser comme source de données dans les automations planifiées, cliquez sur + Créer une nouvelle automatisation, et utiliser Sélectionner Plus option dans la section Sélectionner les objets. Cela vous permet d'automatiser l'action que vous souhaitez effectuer sur la liste des objets importés via le webhook entrant, soit une seule fois, soit périodiquement.
Configuration avancée des points de terminaison pour les points de terminaison imbriqués avec des webhooks entrants
Pour certaines configurations d'API, vous devrez peut-être configurer plusieurs points de terminaison où les points de terminaison dépendent les uns des autres. Par exemple, le premier point de terminaison récupère tous les identifiants d'employés de l'organisation, et vous devez appeler une autre API pour chaque identifiant d'employé reçu dans la réponse pour récupérer les détails de chaque employé. Dans ces cas, configurez la première API en tant que point de terminaison de base (le type par défaut) et le deuxième point de terminaison en tant que point de terminaison dépendant à l'aide de Avancé option dans Configuration du point de terminaison section.
Étapes pour configurer un point de terminaison dépendant
Basculer Avancé bouton sur activé sous Configuration du point de terminaison API pour remplir les informations lorsque le point de terminaison dépend du point de terminaison de l'API précédente.
- Dans la Configuration du point de terminaison section, activez l'option Avancé pour remplir les informations lorsqu'un point de terminaison dépend d'un point de terminaison de l'API précédente.
- À partir de Type de configuration liste déroulante, sélectionnez le type de point de terminaison. Par défaut, Point de terminaison de base option sera sélectionnée. Vous devez la changer en Point de terminaison dépendant.
- À partir de Dépend de liste déroulante, sélectionnez le point de terminaison de base pertinent sur lequel les données du point de terminaison dépendant reposent. Ainsi, le point de terminaison dépendant sera appelé pour chaque objet reçu du point de terminaison de base.
- Pour utiliser un champ de la réponse du point de terminaison de base, utilisez les macros de point de terminaison de base listées en tapant % ou en cliquant
.

Étapes pour récupérer les valeurs d'une réponse d'API REST en utilisant des conditions
Suivez toutes les étapes mentionnées dans la Configuration du webhook entrant section. Lorsque Type de message est défini sur JSON et que vous devez récupérer des données à partir d'un tableau de réponses en fonction de conditions spécifiques, ADManager Plus vous permet de le faire en utilisant l'analyse conditionnelle JSON.
Cette option filtre les données requises de la réponse JSON de l'API contenant un tableau de valeurs pour une clé souhaitée, qui peut ensuite être mappée aux attributs LDAP correspondants. Le format de mappage peut être configuré en utilisant une ou plusieurs conditions, selon vos besoins.
Syntaxe de condition
Utilisez les formats suivants pour définir une condition :
<path of array object key>[?(('<path of condition key>')='<condition value>')].<path of value to be fetched>
<path of array object key>[?(('<path of condition key>')='<condition value>')&(('<path of condition key>')='<condition value>')].<path of value to be fetched>
Paramètres de syntaxe
| <path of array object key> |
Le chemin d'accès à l'objet tableau JSON, se terminant par sa clé |
| <path of condition key > |
Le chemin d'accès à la clé à l'intérieur de l'objet tableau utilisée pour la condition |
| <condition value> |
La valeur à faire correspondre dans le chemin de condition |
| <path of value to be fetched> |
Le chemin d'accès à la valeur qui doit être récupérée (après l'objet tableau) |
Exemple de réponse JSON :
{
"data": [
{
"id": 443,
"name": "TestUser",
"employee_id": 443,
"address": [
{
"position": {
"city": {
"name": "cityname1",
"isHome": "false"
},
"phone": {
"number": 999888777,
"isHome": "true"
}
}
},
{
"position": {
"city": {
"name": "cityname2",
"isHome": "true"
},
"phone": {
"number": 5556666444,
"isHome": "false"
}
}
}
],
"items": [
{
"category": "department",
"reference": "department_reference",
"data": [
{
"value": "teamname1",
"type": "primary"
},
{
"value": "teamname2",
"type": "secondary",
"details": [
{
"id": "oldteamid",
"type": "old"
},
{
"id": "newteamid",
"type": "new"
}
]
}
]
},
{
"category": "group",
"reference": "group_reference",
"data": [
{
"value": "groupname1",
"type": "primary"
},
{
"value": "groupname2",
"type": "secondary",
"details": [
{
"id": "oldgroupid",
"type": "old"
},
{
"id": "newgroupid",
"type": "new"
}
]
}
]
}
]
}
]
}
Type 1 : Mappage utilisant une seule condition
Récupérer une valeur d'un tableau JSON basé sur une seule condition. Cette méthode est utile lorsque vous souhaitez filtrer et extraire une information spécifique qui répond à un seul critère de correspondance à partir d'un ensemble de données. La condition agit comme un simple filtre, garantissant que seul l'objet pertinent du tableau est sélectionné.
Exemple : Pour récupérer la valeur cityname2 de la réponse fournie, définissez le chemin de condition data[].address[].position.city.isHome à true et le chemin du tableau cible comme data[].address[].position.city.name.
Syntaxe : data[].address[?(('position.city.isHome')='true')].position.city.name
Explication :
- data[].address: Ceci est le chemin d'accès à l'objet tableau JSON.
- position.city.isHome: Ceci est le chemin de la clé de condition à l'intérieur des données du tableau data[].address.
- true: Ceci est la valeur de condition à faire correspondre.
- position.city.name: Ceci est le chemin de la valeur à récupérer.
Résultat : La condition donnée correspond au deuxième élément du tableau, donc la valeur résultante est cityname2.
Type 2 : Mappage utilisant plusieurs conditions
Récupérer une valeur d'un tableau JSON et la mapper à un attribut LDAP en appliquant plusieurs conditions. Cette méthode est idéale pour les données complexes ou imbriquées où plusieurs critères doivent être respectés pour mapper avec précision la valeur aux attributs LDAP. En combinant les conditions à l'aide de l'opérateur logique ET (&) ou OU (|), vous pouvez affiner la sélection à un objet qui répond à tous les critères spécifiés.
Exemple : Pour récupérer la valeur groupname2 de la réponse fournie, définissez les chemins de condition data[].items[].category à group et data[].items[].data[].type à secondary, et définir le chemin du tableau cible comme data[].items[].data[].value.
Syntaxe : data[].items[?(('category')='group')&(('data[].type')='secondary')].data[].value
Explication :
- data[].items: Ceci est le chemin d'accès à l'objet tableau JSON.
- category: Ceci est le premier chemin de clé de condition à l'intérieur de data[].items.
- group: Ceci est la première valeur de condition à correspondre.
- data[].type: Ceci est le deuxième chemin de clé de condition à l'intérieur de data[].items.
- secondary: Ceci est la deuxième valeur de condition à correspondre.
- data[].value: Ceci est le chemin de la valeur à récupérer.
Résultat : La condition donnée correspond au deuxième élément du tableau, donc la valeur résultante est groupname2.
Remarque:
Comment configurer l'analyse basée sur les conditions dans ADManager Plus
Dans ADManager Plus, l'analyse basée sur les conditions peut être configurée de deux façons. La méthode 1, qui est recommandée, offre plus de flexibilité car vous pouvez définir plusieurs mappages de format avec différentes conditions pour le même tableau JSON et les réutiliser dans les attributs LDAP. La méthode 2, en revanche, est configurée directement au niveau du point de terminaison et permet une seule condition par chemin de tableau JSON, ce qui limite la récupération à une seule valeur du tableau. Cela la rend plus restrictive mais plus simple à configurer.
Méthode 1 : [recommandée]
- Dans la . Une fenêtre de réponse affichera tous les éléments demandés. section, sélectionnez le point de terminaison.
- Sélectionnez Nom de l'attribut LDAP dans la liste déroulante dans la Clé primaire .
- Dans la Format Mapping Attribute pop-up, entrez le nom du format et sélectionnez le format.
- Dans la Format Value champ, cliquez sur l' macro icône.
- Dans la Sélectionnez Macros pop-up, accédez à Functions > Match Condition.
- Entrez la valeur de condition dans la zone de texte.
- Cliquez sur Add.
- Cliquez sur Save.
- Maintenant, vous pouvez utiliser ce format pour mapper avec n'importe quel attribut LDAP.
Remarque: Pour chaque attribut LDAP à mapper, vous pouvez créer plusieurs formats en utilisant cette méthode.
Méthode 2:
- Après avoir rempli les détails de configuration du point de terminaison, cliquez sur Test et enregistrement ou sélectionnez le Response Fields icône.
- Cliquez sur n'importe quel champ de type de données pour ouvrir le menu déroulant et sélectionnez Array.
- Entrez la valeur de condition dans la zone de texte.
- Cliquez sur Save.
- Maintenant, vous pouvez utiliser cette colonne pour mapper avec n'importe quel attribut LDAP.

Résultat du test de configuration du webhook entrant montrant un schéma de réponse JSON analysé, où les types de données d'attributs tels que texte, nombre, horodatage et tableau peuvent être sélectionnés pour la configuration du point de terminaison.
Étapes pour configurer un point de terminaison SOAP API
Vous devez suivre toutes les étapes mentionnées dans la configuration du webhook entrant section sauf pour cette étape. Lorsque le Type de message est défini sur XML, ADManager Plus nécessite le Bascule de l' fichier CSV. Ce fichier aide à filtrer uniquement les données requises de la réponse XML du point de terminaison. Les attributs filtrés peuvent ensuite être liés aux attributs AD LDAP.
Le fichier CSV doit avoir trois colonnes comme indiqué ci-dessous:
- columnName: Ceci est le nom souhaité pour les données à filtrer de la réponse XML.
- xPath: Ceci est l'emplacement d'où les données doivent être extraites.
- isParameter: Si défini sur 1, il deviendra un attribut itérant lors des appels répétés. Par exemple, si un nœud nommé Page dans le corps du message doit augmenter d'un incrément d'un à chaque appel, le isParameter pour Page est défini sur 1.
Par exemple, comme illustré dans les images ci-dessous, la valeur de columnName Worker ID mise en surbrillance dans l'exemple de fichier CSV est extraite de l'attribut Worker_ID(value:100001) comme illustré dans l'exemple de réponse XML. Cette valeur peut être mappée à l'attribut AD LDAP employeeID ultérieurement.
Exemple de fichier CSV :

Exemple de réponse XML :

Cliquez sur ici pour télécharger un exemple de fichier CSV.
Indexation basée sur les valeurs
L'indexation basée sur les valeurs est une technique utilisée pour localiser et récupérer efficacement les données en appliquant des conditions spécifiques à leurs valeurs. Cette approche permet aux utilisateurs de créer un xPath spécifique, leur permettant de trouver efficacement les entrées qui correspondent aux critères définis.
Comme indiqué dans les images ci-dessous, la valeur de la colonne Entreprise dans l'exemple de fichier CSV est extraite de l' attribut Organization_Name (valeur : company1), mis en évidence dans la deuxième image. Puisqu'il existe plusieurs entrées de Worker__Organization_Data, une condition supplémentaire (Organization_Subtype_ID='company') est définie pour spécifier le bon Worker_Organization_Data. Cela signifie que la valeur finale est sélectionnée en fonction d'une condition liée à une autre valeur spécifique.


Ce xPath filtre les données sous Worker_Organization_Data en vérifiant si Organization_Subtype_ID est égal à Company. Il retourne ensuite le Organization Name de la condition correspondante.
Pour créer une condition, suivez ces étapes :
- Identifiez le champ de données que vous souhaitez filtrer (par exemple, Organization_Subtype _ID).
- Spécifiez la valeur à faire correspondre (par exemple, Company).
- Appliquez la condition sous la forme [?(searchpath = 'value')] pour filtrer en fonction de l'attribut sélectionné.
Cette approche permet la création d'un xPath précis et de résultats basés sur une condition définie.