OData avec Power Automate et Power Apps
Power Automate
Microsoft Power Automate : outil pour automatiser ses tâches professionnelles.
Power Automate vous aide à travailler intelligemment en automatisant les échanges entre vos applications et vos services.
Créez des flux de travail automatisés pour :
- obtenir des notifications
- synchroniser des fichiers
- collecter des données
- mettre en place des circuits de validation
Power Apps
Microsoft Power Apps : outil de création d’applications métier en mode SaaS à partir d’un choix de modèles.
Power Apps est un service pour créer et utiliser des applications métiers personnalisées à travers toutes les plates-formes.
Créez facilement vos applications métiers et développez ou personnalisez les applications que vous utilisez déjà :
- Choisissez parmi une grande sélection de modèles ou démarrez à partir d’un canevas vierge.
- Publiez des applications instantanément pour le web et le mobile sans utiliser de code.
- Connectez simplement votre application à vos données.
- Exploitez le connecteur pour lier les outils Power Automate et PowerApps à Sage 100
- Accédez à Sage 100 depuis vos outils Microsoft.
- Utilisez ces outils pour optimiser votre temps et répondre à des besoins métier spécifiques.
Le connecteur Sage 100 pour Power Automate et Power Apps
Les atouts du connecteur Sage 100 :
- Une intelligence de gestion embarquée sous forme de processus métier.
- Une sécurité et intégrité de la base de données garanties sur les traitements en écritures.
- Une fiabilité des développements couverte par la responsabilité de Sage.
- Un gage supplémentaire de conformité légale des développements spécifiques (loi anti-fraude, RGPD, etc.)
- Le respect des règles métier.
- Une pérennité des développements facilitée grâce à la compatibilité avec les montées de version.
- Une portabilité des développements multi plate-forme (on-premise, online, Objets métiers / API cloud).
- Une complexité technique masquée par des méthodes et propriétés explicites et documentées (aucune connaissance SQL ou modèle de données requise).
- Un connecteur public identifié et répertorié au nom de Sage, gage de confiance.
- Un protocole standard (OData) en harmonie avec d’autres connecteurs Power Automate et PowerApps.
- Un accompagnement de Sage sur les développements (documentation, formation, etc.).
- Un enrichissement régulier de l’API.
l’API Sage 100 et Power Automate
Lors de la création d’un flux automatisé utilisant le connecteur Sage 100, la liste des actions proposées correspond aux intitulés des routes de l’API.
Exemples : Liste des clients, Liste de tous les articles, Ajout d’un client
Depuis l’interface de Power Automate, sélectionnez le connecteur Sage 100 puis utilisez la zone de recherche pour retrouver l’action souhaitée :
Les paramètres OData de la requête ainsi que les valeurs des identifiants obligatoires sont à renseigner dans le formulaire proposé après le choix de l’action :
Exemples : Choix de l’action Liste des clients et renseignement des paramètres pour obtenir les clients actifs hors ville de Paris :
Renseignez l’identifiant de la société (sous forme de valeur ou d’une variable récupérée d’un action parente Liste des sociétés) et renseignez les paramètres OData utiles pour la requête :
l’API Sage 100 et Power Apps
Pour autoriser l’appel aux méthodes de l’API Sage 100, vous devez ajouter dans votre application métier Power Apps la source de données Sage 100.
Dans Power Apps, les méthodes publiées par le connecteur ne sont pas affichées de la même manière que dans Power Automate. Le nom de ces méthodes est codifié en fonction de l’opération que la méthode exécute.
Le nom des méthodes est structuré de la manière suivante : Ressource
Opération
By
Paramètres
Ressource
: Correspond aux entités exposées par l’API Sage 100 (BonsAPayer , Clients , Devises …)Opération
: Correspond à l’action de la méthode (Get
,Post
,Put
,Patch
,Delete
ou à une action métier, par exemple :Accepter
pour la ressource BonsAPayer).By
Paramètres
: Correspond aux paramètres d’entrée de l’opération (certaines opérations ne requièrent aucun paramètre d’entrée).
Quelques exemples :
Action Power Automate | Méthode Power Apps | Paramètres |
---|---|---|
Liste des sociétés | CompaniesGet |
Aucun paramètre en entrée |
Retourne un client par son Id | ClientsGetByIdAndDatasetid |
Id : Identifiant du clientDatasetid : Identifiant de la société |
Ajout d’un client | ClientsPostByDatasetid |
Datasetid : Identifiant de la société |
Modification d’un client (patch) | ClientsPatchByIdAndDatasetid |
Id : Identifiant du clientDatasetid : Identifiant de la société |
Suppression d’un contact du client | ClientsDeleteContactsByKeyAndIdAndDATASETID |
Key : Identifiant du clientId : Identifiant du contactDATASETID : Identifiant de la société |
Tous les appels à l’API Sage 100 depuis Power Apps devront être préfixés par Sage100cloud
suivi d’un point.
Pour faciliter la recherche des méthodes, il suffira de saisir dans la zone de recherche de l’éditeur Power Apps un terme de recherche, toutes les méthodes contenant ce terme apparaitront avec leur préfixe Sage100cloud.
En plus des paramètres d’entrée, il est également possible de renseigner les paramètres des requêtes OData.
Ceux-ci doivent être spécifiés après les paramètres d’entrées.
Exemple : pour la Liste de tous les clients actifs hors de la ville de Paris :
Set(currentCompanyId;"{datasetId}");;
Sage100cloud.ClientsGetByDatasetid(
currentCompanyId;
{
'$expand': Blank();
'$select': "intitule,numero,adresse";
'$filter': "adresse/ville ne 'Paris' and not sommeil";
'$orderby':Blank();
'$top': Blank();
'$skip': Blank();
'$count': Blank()
}
).value;;
Notes :
- Les paramètres OData sont facultatifs, par exemple si
$expand
n’a pas de valeur, il peut être retiré de la déclaration.
Cependant pour faciliter les ajouts ultérieurs, il est possible de déclarer tous les paramètres et leur affecter la valeurBlank()
s’ils ne sont pas utilisés dans la requête.
Lors de l’appel à l’API Sage 100, Power Apps supprimera automatiquement les paramètres affectés avec la valeurBlank()
. - Attention, si vous avez limité le nombre de propriétés renvoyées par une requête en utilisant le paramètre
$select
, vous pouvez être induit en erreur car Power Apps et Power Automate affichent toujours l’ensemble des propriétés définies dans une route de l’API, vous risquez d’utiliser une propriété dans un écran ou un traitement alors que sa valeur ne sera pas retournée. - Attention, la syntaxe est différente selon la langue utilisée pour l’interface de développement Power Apps :
- En français, le ; est un séparateur de paramètres et le ;; est un séparateur d’instructions.
- En anglais, la , est le séparateur de paramètres et le ; est le séparateur d’instructions.
En récupérant des exemples de code sur Internet en provenance de sites en anglais, il conviendra de remplacer , par ; et ; par ;; si votre interface de développement Power Apps est en français.