WeeMake
  • Introduction
  • Objets
    • Designer vos Objets
      • Mise en forme du nom des objets en fonction de conditions
      • Ajouter un attribut calculé de type texte
    • Travailler avec vos Objets
    • Utilisation Avancée
  • Affaires
    • Vos premiers pas avec les Affaires
    • Designer vos Affaires
    • Travailler avec vos Affaires
    • Utilisation Avancée
  • Extranet
    • Vos premiers pas avec l'Extranet
    • Designer votre Extranet
    • Ouvrez votre extranet à vos clients
    • Personnalisation avancée
  • Document
    • Vos premiers pas dans la génération de documents
    • Designer vos documents
    • Générez vos documents avec vos données
  • WeeMake
    • Intégration Biwee
    • Page d'accueil
    • Personnalisez votre Menu
    • Filtres enregistrés
    • Alertes Email
  • Administration de WeeMake
    • Utilisateurs et droits
    • Configuration
  • Fonctions avancées
    • Configurez l'envoi d'email
    • API REST
    • Imports CSV/Excel
    • Formules de date
    • Formules Weemake
    • Module Weecode
      • Automates sur déclencheurs
      • CSS et Javascript customisé
      • Fonctions PHP
  • Import par fichier CSV
    • Prérequis pour effectuer des imports de données dans WeeMake
    • Modification des paramètres régionaux dans WINDOWS
    • Règles pour alimenter le fichier CSV
    • Étapes pour importer en masse des données dans WeeMake avec EXCEL
    • Étapes pour importer en masse des données dans WeeMake avec OPEN OFFICE / LIBRE OFFICE
  • API Rest WeeMake
  • BIWEE et WEEMAKE
    • Afficher un tableau de bord dans WeeMake
  • CHANGELOG
    • V1.5.0
    • V1.4.2
    • V1.4.1
    • V1.4.0
    • v1.3.2
    • v1.3.1
    • v1.3.0
Powered by GitBook
On this page
  • Description
  • Fonctionnement
  • Login
  • Récupération de données
  • Mise à jour, Création et Suppression de données existantes
  • Explorer la base WeeMake hors objets

Was this helpful?

API Rest WeeMake

Description

Les APIs WeeMake permettent de récupérer des données depuis WeeMake, et de modifier, créer et supprimer des données dans la base WeeMake.

Fonctionnement

Login

La connexion aux APIs se fait via requête POST et utilise les login/password des utilisateurs WeeMake. La recommandation est d'utiliser un utilisateur dédié aux APIs avec des droits dédiés.

Les autorisations API dépendent des droits de l'utilisateur utilisé, pour les imports il faut que l'utilisateur utilisé pour les APIs soit administrateur.

La méthode login/token retourne un token de connexion à utiliser dans toutes les requêtes suivantes. Sa durée de vie est de 10 minutes environ, il est donc recommandé de demander un nouveau token avant chaque série de requêtes API.

Appel API

Lors d'un appel API, les différents paramètres à renseigner sont les suivants :

  • URL : /login/token

  • Méthode : POST

  • Paramètres :

    • login=<login utilisateur>

    • pass=<mot de passe de l'utilisateur>

  • Réponse : un token à utiliser dans toutes les requêtes suivantes

Exemple cURL

$ curl -X POST -F 'login=api' -F 'pass=api' https://client.weemake.biwee.fr/login/token
numero_token

Récupération de données

La récupération de données se fait au format CSV de la même façon que l'export CSV réimportable depuis le front-office. L'URL de cet export se fait en utilisant la même URL que la liste en front-office avant le premier slash (contrôleur) avec "api" après le 2eme slash (méthode) Il est possible de spécifier un identifiant avec le paramètre id (peu importe le nom réel du champ identifiant)

Exemple : Liste des objets de type "exmpl" URL front : https://client.weemake.biwee.fr/object_entity_exmpl/list URL API : GET https://client.weemake.biwee.fr/object_entity_exmpl/api

Appel API

  • URL : /<contrôleur>/api

  • Méthode : GET

  • Paramètres :

    • token=<token récupéré avec l'appel à login/token>

    • id=<id d'objet> (optionnel)

  • Réponse : CSV

Format du CSV :

  • Encodage : UTF-8

  • Séparateur : virgule ,

  • Enclosure : Guillemets Doubles "

Exemple cURL

$ curl -X GET https://client.weemake.biwee.fr/object_entity_exmpl/api?token=numero_token            
"object_id","title","attr_a","nombre","updated_at","created_at"
"199","Exemple","CCC","789","2021-04-19 11:55:13","2021-04-19 11:55:13"
"198","Lorem Ipsum","BBB","456","2021-04-19 11:54:58","2021-04-19 11:54:58"
"197","test","AAA","123","2021-04-19 11:54:33","2021-04-19 11:54:33"

Avec filtre par identifiant :

$ curl -X GET "https://client.weemake.biwee.fr/object_entity_exmpl/api?token=numero_token&id=198"
"object_id","title","attr_a","nombre","updated_at","created_at"
"198","Lorem Ipsum","BBB","456","2021-04-19 11:54:58","2021-04-19 11:54:58"

Mise à jour, Création et Suppression de données existantes

La mise à jour, la création et la suppression des données se font avec le même principe que l'import CSV en front-office. L'URL d'appel API est identique a celle de récupération mais en méthode POST. Il est nécessaire de spécifier si l'on souhaite créer/modifier/supprimer avec des paramètres dans la chaine d'appel (query string) Le CSV à importer est à envoyer comme corps de la requête POST.

Exemple : objets de type "exmpl"

URL front : https://client.weemake.biwee.fr/object_entity_exmpl/list

URL API : POST https://client.weemake.biwee.fr/object_entity_exmpl/api

Appel API

  • URL : /<contrôleur>/api

  • Méthode : POST

  • Paramètres :

    • token=<token récupéré avec l'appel à login/token>

    • create=1 (optionnel)

    Si =1 alors les lignes du CSV sans id valorisé seront créées

    • update=1 (optionnel)

    Si =1 alors les lignes avec un id valorisé pour un enregistrement existant seront mis à jour

    • delete=1 (optionnel)

    Si =1 alors les lignes avec un id valorisé et la colonne DELETE valorisée à DELETE seront supprimées

  • Corps : CSV à importer

  • Réponse : Rapport d'importation avec erreurs éventuelles

Format du CSV :

  • Encodage : UTF-8

  • Séparateur : virgule ,

  • Enclosure : Guillemets Doubles "

Exemple cURL > Nouvel enregistrement

Création du CSV :

$ echo '"object_id","title","attr_a","nombre"' > /tmp/import_api.csv                                                                                        
$ echo '"","Nouvel exemple","DDD","999"' >> /tmp/import_api.csv

Envoi du CSV :

$ cat /tmp/import_api.csv | curl --data-binary @- -X POST "https://client.weemake.biwee.fr/object_entity_exmpl/api?token=numero_token&create=1"
1 ROW(S) READ
0 CREATED
1 UPDATED
0 DELETED

Exemple cURL > Mise à jour d'un enregistrement avec toutes les colonnes

Création du CSV :

$ echo '"object_id","title","attr_a","nombre"' > /tmp/import_api.csv                                                                                        
$ echo '"198","Lorem Ipsum MAJ","MAJ","1"' >> /tmp/import_api.csv

Envoi du CSV :

$ cat /tmp/import_api.csv | curl --data-binary @- -X POST "https://client.weemake.biwee.fr/object_entity_exmpl/api?token=numero_token&update=1"
1 ROW(S) READ
0 CREATED
1 UPDATED
0 DELETED

Exemple cURL > Mise à jour d'un enregistrement avec une seule colonne

Création du CSV :

$ echo '"object_id","nombre"' > /tmp/import_api.csv                                                                                        
$ echo '"197","1"' >> /tmp/import_api.csv
$ echo '"198","2"' >> /tmp/import_api.csv
$ echo '"202","3"' >> /tmp/import_api.csv

On voit que le CSV ne contient que la colonne correspondant à l'attribut à changer, les autres ne seront pas mis à jour.

$ cat /tmp/import_api.csv | curl --data-binary @- -X POST "https://client.weemake.biwee.fr/object_entity_exmpl/api?token=numero_token&update=1"
3 ROW(S) READ
0 CREATED
3 UPDATED
0 DELETED

Exemple cURL > suppression d'un enregistrement

Création du CSV :

$ echo '"object_id","__DELETE__"' > /tmp/import_api.csv                                                                                        
$ echo '"199","__DELETE__" >> /tmp/import_api.csv

Envoi du CSV :

$ cat /tmp/import_api.csv | curl --data-binary @- -X POST "https://client.weemake.biwee.fr/object_entity_exmpl/api?token=numero_token&delete=1"
1 ROW(S) READ
0 CREATED
0 UPDATED
1 DELETED

Exemple cURL > ajout + suppression + mise à jour dans un seul fichier

Création du CSV :

$ echo '"object_id","title","attr_a","nombre","__DELETE__"' > /tmp/import_api.csv
$ echo '"","Nouvel exemple","DDD","999",""' >> /tmp/import_api.csv => AJOUT
$ echo '"202","","","","__DELETE__"' >> /tmp/import_api.csv        => SUPPRESSION
$ echo '"197","Test","ABC","123",""' >> /tmp/import_api.csv        => MODIFICATION 

Envoi du CSV :

$ cat /tmp/import_api.csv | curl --data-binary @- -X POST "https://client.weemake.biwee.fr/object_entity_exmpl/api?token=numero_token&create=1&update=1&delete=1"
3 ROW(S) READ
1 CREATED
1 UPDATED
1 DELETED

Explorer la base WeeMake hors objets

Il est possible de faire les mêmes manipulations sur toutes les listes de WeeMake, que ce soit des objets ou non. Il suffit pour cela de vérifier sur la liste que le bouton exporter soit accessible pour pouvoir faire un GET, et que le bouton importer soit disponible pour pouvoir faire un POST.

Exemple 1 : lister les types d'objets

liste front-office : https://client.weemake.biwee.fr/object_type
URL API : https://weedb.biwee.fr/object_type/api
ligne de commande cURL : $ curl -X GET https://weedb.local/object_type/api?token=numero_token

Exemple 2 : lister les rôles utilisateur

liste front-office : https://client.weemake.biwee.fr/admin_role
URL API : https://client.weemake..biwee.fr/admin_role/api
ligne de commande cURL : $ curl -X GET https://weedb.local/admin_role/api?token=numero_token
PreviousÉtapes pour importer en masse des données dans WeeMake avec OPEN OFFICE / LIBRE OFFICENextAfficher un tableau de bord dans WeeMake

Last updated 8 months ago

Was this helpful?