Voici un exemple de demande de recherche.
Dans l’exemple ci-dessus, le point d’extrémité est le source, ce qui limite ce qui peut être fait avec la requête API aux actions spécifiquement conçues pour manipuler des objets de données utilisateur.
Dans l’exemple ci-dessus, l’action est Recherche. La recherche est utilisée pour obtenir des données d’un point final qui répond à un ensemble spécifique de filtres.
{Valeur Clé}.
action=search&args=[{"full_name » :"Steve Joe"}] ne retournerait que les enregistrements où « full_name » ( Clé) est « Steve Joe » (Valeur). N’importe quel nombre de filtres peuvent être utilisés tant qu’ils correspondent à la structure Clé :Valeur et sont séparés par des virgules.Lorsque vous ajoutez des valeurs de filtre à la requête de recherche API, les chaînes de texte doivent être à l’intérieur de guillemets.
L’action Minitab Connect de recherche du point d’accès API est limitée aux requêtes simples. Les requêtes de recherche composée doivent concerner des clés différentes. Par exemple : {"A » :"Bob"},{"B » :"Test"}. Interroger une clé deux fois dans la même requête donne une réponse contenant tous les résultats correspondant uniquement à la seconde condition. Des requêtes complexes sur une seule clé sont possibles via le point d’extrémité de l’interface source en utilisant js_filter.
Chaque requête API réussie en version 3 renvoie des données sous forme d’objet JSON. Dans cet exemple, nous allons nous concentrer sur une réponse API simple.
La requête API qui sera utilisée est la « Requête API d’exemple » ci-dessus.1 Voici un résumé de l’exemple :
https://connect.minitab.com/api/3/User?apikey=45354645654474127781&action=search&args=[{"full_name » :"Steve Joe"}]
à https://connect.minitab.com/ et précise qu’il s’agit d’une requête API version 3 avec /api/3.?apikey=4535464564474127781 2&action=recherche Cette action configure le système pour accepter un tableau de filtres qui déterminera les paramètres de recherche.
Cette variable de configuration est séparée de la clé API par un esperluche (&). Toutes les variables, sauf la première, sont précédées d’une esperluette.
&args=[{"full_name » :"Steve Joe"}] Le tableau de filtres demande au système de rechercher dans les objets Userdata et de retourner tous ceux qui ont un attribut de full_name égal à « Steve Joe ».La réponse reçue à une requête API est un objet JSON contenant tous les objets de données User avec l’attribut « fname » et la valeur « Steve ». Tous les objets de réponse ont la même structure de base, et ils sont retournés sous forme de chaîne au format JSON.
{"data":[{"type":"User","id":"999","attributes":{"user_id":"999","user_guid":"558877tu8822","full_name:"Steve
Joe","email":"Steve_Smith@minitab.com","phone":"","user_type_id":"66","cust_id":"1","adobe_key":null,"login":null,"theme":"","last_active":null,"is_active":"1","exceptions":[],"notes":"","two_factor":"0","auth_token":null,"expires":null,"password_history":null,"access_type":"40","notification_preference":"noti","primary_id":"user_id","primary_guid":"user_guid"},"meta":{"valid":true,"getters":{"EXCEPTIONSON":"getExceptionsOn","FULLUSERLIST":"getFullUserList","CUSTOMERUSERLIST":"getCustomerUserList","NOTIFICATIONS":"getNotifications","DBSTATUS":"getDBStatus","DBTABLES":"getDBTables","DBVIEWS":"getDBViews","JOBS":"getJobs","UIREFRESH":"getUIRefresh","USERGUID":"getUserGUID","USERID":"getUserID","NAME":"getName","FULLNAME":"getFullName","FNAME":"getFName","MNAME":"getMName","LNAME":"getLName","EMAIL":"getEmail","PHONE":"getPhone","ADOBEKEY":"getAdobeKey","LOGIN":"getLogin","CUSTID":"getCustId","USERTYPEID":"getUserTypeID","THEME":"getTheme","LASTACTIVE":"getLastActive","ISACTIVE":"getIsActive","EXCEPTIONS":"getExceptions","NOTES":"getNotes","TWOFACTOR":"getTwoFactor","AUTHTOKEN":"getAuthToken","EXPIRES":"getExpires","PASSWORDHISTORY":"getPasswordHistory","CUSTOMERSTATS":"getCustomerStats","RELATIVES":"getRelatives","ACCESSTYPE":"getAccessType","NOTIFICATIONPREFERENCE":"getNotificationPreference","ACTIVEUSERS":"getActiveUsers","CONTYPE":"getConType","ID":"getID","PRIMARYID":"getPrimaryID","GUID":"getGUID","PRIMARYGUID":"getPrimaryGUID","PROPERTIES":"getProperties"},"setters":{"CDBO":"setCDBO","USERGUID":"setUserGUID","FNAME":"setFName","MNAME":"setMName","LNAME":"setLName","EMAIL":"setEmail","PHONE":"setPhone","ADOBEKEY":"setAdobeKey","LOGIN":"setLogin","CUSTID":"setCustID","USERTYPEID":"setUserTypeID","THEME":"setTheme","LASTACTIVE":"setLastActive","ISACTIVE":"setIsActive","PASSWORD":"setPassword","NOTES":"setNotes","TWOFACTOR":"setTwofactor","AUTHTOKEN":"setAuthToken","EXPIRES":"setExpires","PASSWORDHISTORY":"setPasswordHistory","ACCESSTYPE":"setAccessType","NOTIFICATIONPREFERENCE":"setNotificationPreference","ID":"setID","DBO":"setDBO"},"actions":{"load":{"parameters":[{"name":"args"}]},"loadExceptions":{"parameters":[]},"addException":{"parameters":[{"name":"args"}]},"updateException":{"parameters":[{"name":"args"}]},"removeException":{"parameters":[{"name":"args"}]},"clearExceptions":{"parameters":[]},"search":{"parameters":[{"name":"args"}]},"remove":{"parameters":[]},"checkPassword":{"parameters":[{"name":"password"}]},"checkPasswordHistory":{"parameters":[{"name":"password"}]},"runDBSQL":{"parameters":[{"name":"args"}]},"removeUIRefresh":{"parameters":[{"name":"args"}]},"createUIRefresh":{"parameters":[{"name":"args"}]},"systemLog":{"parameters":[{"name":"args"}]},"checkLogIn":{"parameters":[{"name":"args"}]},"logIn":{"parameters":[{"name":"args"}]},"removeUser":{"parameters":[]},"whois":{"parameters":[{"name":"auth_token"}]},"auth":{"parameters":[{"name":"args"}]},"commit":{"parameters":[]},"purge":{"parameters":[{"name":"args"}]},"checkRequirements":{"parameters":[{"name":"password"}]},"checkHistory":{"parameters":[{"name":"password"},{"name":"limt"}]},"grantAccess":{"parameters":[{"name":"args"}]},"removeAccess":{"parameters":[{"name":"args"}]},"notify":{"parameters":[{"name":"args"}]},"sharableList":{"parameters":[]},"slackAccounts":{"parameters":[]},"sendSupportRequest":{"parameters":[{"name":"args"}]},"downloadActiveUsers":{"parameters":[{"name":"args"}]},"message":{"parameters":[]},"beginTransaction":{"parameters":[]},"commitTransaction":{"parameters":[]},"rollbackTransaction":{"parameters":[]},"restrictCustomer":{"parameters":[]},"permissionRequired":{"parameters":[{"name":"args"}]}}}}],"meta":{"data_type":"array"},"self":"https:\/\/connect.minitab.com\/api\/3\/User?apikey=5555888817ab43&action=search&args=[{%22full_name%22:%22Steve
Joe%22}]"}
Ce sujet décrit le processus pour utiliser la requête de recherche version 3 de l’API afin de recevoir le GUID d’un point de terminaison souhaité en configurant le tableau de filtres. Il explique également comment déterminer quels attributs sont disponibles pour filtrer sur un point de terminaison donné.
Chaque objet dans Minitab Connect possède un point final correspondant qui peut être recherché à l’aide d’un tableau de filtres. La première étape pour identifier un ID spécifique consiste à déterminer quel point d’extrémité doit être utilisé dans la requête de recherche API. Plus d’informations sur les terminaux ainsi qu’une liste de tous les points de terminaison actuels sont disponibles dans L’API Minitab Connect. Une fois le point de terminaison requis identifié, l’étape suivante consiste à demander la liste des attributs pouvant être recherchés.
(Pour cet article, le point de terminaison « utilisateur » sera utilisé.)Lorsque votre requête API contient toutes les informations requises, vous pouvez exécuter la requête. Chaque requête API de la version 3 réussie renvoie des données sous forme d’objet JSON. Comme la requête n’incluait pas d’identifiant de terminaison, la réponse JSON contiendra toutes les données NULL. Cependant, ce ne sont pas les données qui comptent ; Dans cet exemple, le nom de l’attribut avant les données est ce que nous recherchons. Ce sont les attributs du point final. Voici le résultat de l’exemple de requête API :
{
"data":{
"type":"User",
"attributes":{
"user_id":null,
"user_guid":null,
"full_name":null,
"email":null,
"phone":null,
"user_type_id":null,
"cust_id":null,
"adobe_key":null,
"login":null,
"theme":null,
"last_active":null,
"is_active":null,
"exceptions":null,
"notes":null,
"two_factor":null,
"auth_token":null,
"expires":null,
"password_history":null,
"access_type":null,
"notification_preference":"noti",
"primary_id":"user_id",
"primary_guid":"user_guid"
},
"meta":{ }
},
"meta":{ },
"self":"https:\/\/connect.minitab.com\/api\/3\/User?apikey=411412489453456345645"
Les attributs pouvant être utilisés pour rechercher se trouvent dans l’objet de réponse JSON -> « data » -> « attributs ». Dans cet exemple, en utilisant le point de terminaison utilisateur, les attributs sont les suivants : user_id, user_guid, full_name, email, téléphone, user_type_id, cust_id, adobe_key, connexion, last_active, is_active, exceptions, notes, two_factor, auth_token, expires, password_history, access_type, notification_preference, primary_id, primary_guid. Un ou plusieurs de ces attributs peuvent être utilisés dans un tableau de filtres pour cibler un identifiant de terminaison spécifique.
Nous avons maintenant acquis toutes les informations nécessaires pour créer notre action de recherche, y compris le tableau de filtres qui contient tous les attributs et valeurs représentant l’identifiant de terminaison souhaité. Cette action, &action=recherche, configure le système pour accepter un tableau de filtres qui déterminera les paramètres de recherche. Notez que l’action est précédée d’un esperluette (&). Rappelez-vous que toutes les variables, sauf la première, sont précédées d’une esperluette.
À ce stade, vous pouvez créer le tableau de filtres. Selon les informations dont nous disposons, nous utiliserons différents attributs pour construire notre tableau de filtres. Supposons que nous connaissions les informations suivantes :
Avec ces informations et la liste des attributs disponibles pour le point d’extrémité utilisateur, nous déterminons que nous avons besoin des attributs full_name, cust_id et is_active. Le tableau de filtres est le suivant :
&args=[{"full_name » :["eq »,"Barry Joe"],"is_active » :["eq »,"1"]}]
La requête de recherche complète de l’API version 3 est la suivante :
https://connect.minitab.com/api/3/User?apikey=411412489453456345645&action=search&args=[{"full_name » :["eq »,"Barry Joe"],"is_active » :["eq »,"1"]}]
Lorsque nous exécutons cette requête, nous recevons un seul résultat :
{
"data":{
"type":"User",
"attributes":{
"user_id":17,
"user_guid":"75647362",
"full_name":"Barry Joe",
"email":"barry.smith@tmmdata.com",
"phone":"111-555-1312",
"user_type_id":20,
"cust_id":"52342321",
"adobe_key":null,
"login":null,
"theme":"3c",
"last_active":"2017.10.31 09:53:01",
"is_active":1,
"exceptions":null,
"notes":null,
"two_factor":null,
"auth_token":null,
"expires":null,
"password_history":null,
"access_type":50,
"notification_preference":"noti",
"primary_id":"user_id",
"primary_guid":"user_guid"
},
"meta":{ }
},
"meta":{ },
"self":"https:\/\/connect.minitab.com\/api\/3\/User?apikey=411412489453456345645"
L’identifiant du point de terminaison est 17. Toute future requête API version 3 qui affecterait cet utilisateur contiendra cet ID.