Pour voir ce que vous pouvez faire avec l'API de Showpad, nous partageons quelques exemples qui peuvent inspirer et vous aider à construire votre création.
Remarque : utilisez API Explorer sur Showpadpour Online Platform pour afficher une liste de tous les paramètres disponibles. Vous pouvez le trouver dans l'onglet API des paramètres de l'administrateur.
Ce qu'il vous faut pour réussir
- Plan tarifaire ultime de Showpad
- Accès à Showpad de Online Platform
- Connaissance de base de REST
- Connaissance de base de JSON
Recettes pour vous aider à démarrer
- Création d'un fichier PDF avec une balise
- Création d'un lien d'actif
- Récupération des informations utilisateur
- Renvoyer un tableau d'utilisateurs
- Transfert de contenu dans le dossier personnel Mes Fichiers / Mes téléchargements d'un utilisateur
- Création d'actifs et de balises de la manière la plus optimisée
Création d'un PDF avec une balise
- Créez un actif via l'API via Post / assets.JSON et récupérez l'ID de réponse.
- Copiez cet identifiant de réponse et allez à Tickets.
- Choisissez : GET / tickets / id.JSON et entrez l'ID généré.
- Vous obtenez une réponse avec l'id de l'actif :
"asset" : {"id" : "xxxxx", - Créez une balise via POST /tags.JSON ou recherchez l'ID de balise via Get / TAGS.JSON.
- Copiez cet identifiant.
- Allez aux balises LINK / tags / id.JSON.
- Comme valeur d'ID, vous entrez l'ID de la balise.
- En tant que valeur de lien, vous entrez ' < add ID d'actif > ; rel = "atout" '
Il est possible d'obtenir le lien vers un actif via notre API publique à l'aide de l'appel GET ASSET BY ID :
https://yoursubdomain.showpad.biz/api/v2/assets/0a7c4def949d4da0d461a.json
La réponse de cet appel contient l'attribut appLink :
{ "méta" : { "code" : 200, "message" : "OK", "serverTime" : "2014-06-10 09h19m15s", "lastUpdatedTime" : "2014-06-10 09h19m15s", "requestRateLimit" : 5000, "requestRateLimitReset" : 86400, "demandesRemaining" : 4987 }, "réponse" : { "id" : "0a7c4def949d4da0d461a842", "resourcetype" : "Asset", "nom" : "nom.jpg", "originalName" : "orgname.jpg", "description" : null, "filetype" : "photo", "lien de téléchargement" : "https://yoursubdomain.showpad.biz/api/v2/assets/0a7c4def949d4da0d461a/file", "previewDownloadLink" : "https://yoursubdomain.showpad.biz/api/v2/assets/0a7c4def949d4da0d461a/preview", "isSensitive" : false, "isAnnotatable" : true, "isShareable" : true, "fileSize" : 364485, "vues" : 0, "averageRating" : 0, "externalId" : null, "createdAt" : "2013-07-01 07h32m04s", "updatedAt" : "2013-09-05 06h14m50s", "appLink " : "Showpad: // fichier /02fb913985a38f5ad5ebcf95183792c0", "t ags" : { "href" : "https://yoursubdomain.showpad.biz/api/v2/assets/0a7c4def94d4da0d461a/tags" }, "division" : { "id" : "4643adcc1621814e91c489b34bb428ed", "href" : "https://yoursubdomain.showpad.biz/api/v2/divisions/4643adcc1681434bb428ed" } } }
Ces slugs fonctionneront à partir de Showpad sur iOS 3.4.2 et Android 1.5.1.
Récupération des informations utilisateur
Vous trouverez ci-dessous un exemple GET / users /12345.JSON.
{ "méta" : { "code" : 200, "message" : "OK", "serverTime" : "2017-09-30 11h02m39s", "lastUpdatedTime" : "2017-09-30 11h02m39s", "requestRateLimit" : 5000, "requestRateLimitReset" : 86400, "demandesrestantes" : 4975 }, "réponse" : { "id" : "12345", "resourcetype" : "User", "prénom" : "Nettie", "lastName" : "Pierce", email : nettie@mycompany.com "userName" : "nettie@mycompany.com", "langue" : "en_US", "userType" : "owner", "apiKey" : "someApiKeyWithNumbersAndLetters", "externalId" : null, "lastLogin" : "2017-09-30 10h58m38s", "lastConfirmedContentUpdate" : null, "isActive" : vrai, "createdAt" : "2017-09-29 13h03m31s", "updatedAt" : "2017-09-30 10h58m38s", "Groupes d'utilisateurs" : { "href" : "https://my-subdomain.showpad.biz/api/v2/users/12345/usergroups" }, "tabletpermission" : null }
La réponse comporte deux parties distinctes :
- Meta : contient le code de réponse, le message et l'heure du serveur
- response : contient la ressource actuelle, y compris son identifiant, son type, ses attributs et ses relations
Renvoyer un tableau d'utilisateurs
L'API Showpad utilise également le concept de liens de ressources. Lorsqu'une Collection de ressources est demandée (par exemple via GET /users.JSON), un tableau d'utilisateurs est renvoyé, comme indiqué dans l'exemple suivant :
{ "méta" : { "code" : 200, "message" : "OK", "serverTime" : "2017-09-30 11h01m08s", "lastUpdatedTime" : "2017-09-30 11h01m08s", "requestRateLimit" : 5000, "requestRateLimitReset" : 86400, "demandesrestantes" : 4975 }, "réponse" : { "compter" : 2, articles { "id" : "12345", "resourcetype" : "User", "href" : "https://my-subdomain.showpad.biz/api/v2/users/12345", "nom d'utilisateur" : "nettie@mycompany.com" }, { "id" : "123456", "resourcetype" : "User", "href" : "https://my-subdomain.showpad.biz/api/v2/users/123456", "nom d'utilisateur" : "elsabeth@mycompany.com" } ] } }
La réponse comporte 2 parties distinctes :
- meta : contient le code de réponse, le message et l'heure du serveur
- response : contient le nombre total dans cette Collection et un tableau de liens de ressources. Chaque lien de ressource contient un ID, un type de ressource, l'emplacement de la ressource et des attributs facultatifs. Gardez à l'esprit que le nombre dans la réponse est le nombre total de résultats, pas le nombre de pages. Par exemple, s'il y a 50 utilisateurs et que la limite de cette page est de 25, le nombre sera de 50 et non de 25.
Transférer du contenu dans le dossier Mes Fichiers de l'utilisateur
Vous pouvez utiliser l'API Showpad pour insérer du contenu dans le dossier Mes téléchargements des utilisateurs. Les composants suivants sont requis pour cela :
- Ajoutez l'identifiant de ressource de la division "My Uploads" dans la réponse de l'appel API GET user / id.JSON.
- Ouvrez l'appel API POST assets.JSON pour que les administrateurs puissent envoyer un actif à l'identifiant de division personnelle (via l'en-tête LINK).
- Si la ressource existe déjà (vérifiez le nom du fichier et son extension, dans la même division), une erreur HTTP 409 (conflit) sera renvoyée. Sinon, une erreur HTTP 201 (création réussie) sera renvoyée.
- Les Administrateurs ne peuvent afficher que dans la division personnelle. Ils ne peuvent pas obtenir, mettre, supprimer, etc.
- Les utilisateurs peuvent utiliser une demande POST pour télécharger dans Mes Fichiers, en utilisant :
/divisions/mine/assets.JSON? postProcessingInstructions={"materialisedPath": "/ "}1. S'authentifier
POST https : // {SUBDOMAIN}.Showpad.biz / API / v3 / oauth2 / token
Authentification HTTP de base : base64 encoder ({API_CLIENT_ID} :{{API_CLIENT_SECRET}})
Paramètres de requête :
- nom d'utilisateur = {USERNAME}
- mot de passe = {PASSWORD}
- grant_type = mot de passe
Exemple de réponse :
{ "access_token" : "c3c7793691bea8e5e4c446260044fa853caec13d-VTJodmQzQmhaRTF2WW1sc1pVTnNhV1Z1ZEE9PS1NakEwTlRJPS1NUT09", "expires_in" : 3600, "type de jeton" : "porteur", "scope" : "refresh_token read_user_management write_user_management read_contentprofile_management write_contentprofile_management read_division_management write_division_management", "refresh_token" : "388158e65cb215c4757c89c3de1ae95a34609856-VTJodmQzQmhaRTF2WW1sc1pVTnNhV1Z1ZEE9PS1NakEwTlRJPS1NUT09" }2. Trouver l'utilisateur et les détails de l'utilisateur
GET https : // {SUBDOMAIN}.Showpad.biz / API / v3 / users.JSON
En-têtes : Autorisation : porteur {OAUTH2_TOKEN}
Paramètres de requête :
- email = {USER_EMAILADDRESS}
Exemple de réponse :
{ "méta" : { "code" : 200, "message" : "OK", "serverTime" : " 2017-09-27 11h4m : 20s + 00:00", "lastUpdatedTime" : "2017-09-27T 11h49m20s +00:00", "requestRateLimit":5000, "requestRateLimitReset":86400, "demandesrestantes" :4915 }, "réponse" : { "compter" : 1, articles "id" : "322c5a6f89b45933243f3f6281e7f3c2", "resourcetype" : "User", "href" : "https : \ / \ / mycompany.showpad-dev.biz \ / API \ / v3 \ / users \ /322c5a6f89b45933243f3f6281e7f3c2", "userName " : "promoted.user@showpad.com" }] } }3. Trouver l'utilisateur myUploadsDivisionId
GET https : // {SUBDOMAIN}.Showpad.biz / API / v3 / users / {USER_ID}.JSON
En-têtes : Autorisation : porteur {OAUTH2_TOKEN}
Paramètres de requête :
- champs = myUploadsDivisionId
{ "méta" : { "code" : 200, "message" : "OK", "serverTime" : "2017-10-02T 09h43m06s +00:00", "lastUpdatedTime" : "2017-10-02T 09h43m06s +00:00", "requestRateLimit":5000, "requestRateLimitReset" :86400, "demandesrestantes" :5000 }, "réponse" :{ "myUploadsDivisionId" : "4d3716141c8ffb76928e602548fb9f1c"4. Téléchargez l'actif et associez-le correctement
} }
POST https : // {SUBDOMAIN}.Showpad.biz / API / v3 / divisions / {myUploadsDivisionId /} assets.JSON? PostProcessingInstructions = {materializedPath : “/”}
En-têtes : Autorisation : porteur {OAUTH2_TOKEN}
Type de contenu : multipart / form-data
Corps (exemple)
--FMhuARzKvs8yEDDv
Contenu-Disposition : données de formulaire ; name = "fichier" ; filename = "testfile2.txt"
Type de contenu : text / plain
fjezjeizfj
--FMhuARzKvs8yEDDv--
{ "méta" : { "code" : 201, "message" : "Créé", "serverTime" : "2017-09-27T11 :49:36+00:00", "lastUpdatedTime" : "2017-09-27T11 :49:36+00:00", "requestRateLimit":5000, "requestRateLimitReset":86400, "demandesrestantes" :4915, "location" : "https : \ / \ / mycompany.showpad-dev.biz \ / API \ / v3 \ / assets \ /5b65a2743446caa88f62f44b4aad3cc9"}, "réponse" :{ "id" : "5b65a2743446caa88f62f44b4aad3cc9", "resourcetype" : "Asset", "href" : "https : \ / \ / mycompany.showpad-dev.biz \ / API \ / v3 \ / assets \ /5b65a2743446caa88f62f44b4aad3cc9", "name" : "testfile2.txt", "originalName" : "testfile2.txt", "description" : null, "filetype" : "document", "downloadLink" : "https : \ / \ / mycompany.showpad-dev.biz \ / API \ / v3 \ / assets \ /5b65a2743446caa88f62f44b4aad3cc9\ / fichier \ / v1", "shortLivedDownloadLink" : "https : \ / \ / mycompany.showpad-dev.biz \ / share \ /1506512976000301\ /d7d7f51e598d670c0a21f79291a99d3e61caaef1", "shortLivedDownloadDuration" : 30, "previewDownloadLink" : "https : \ / \ / mycompany.showpad-dev.biz \ / API \ / v3 \ / assets \ /5b65a2743446caa88f62f44b4aad3cc9\ / preview \ /v1.0", "thumbnailDownloadLink" : "https : \ / \ / mycompany.showpad-dev.biz \ / API \ / v3 \ / assets \ /5b65a2743446caa88f62f44b4aad3cc9\ / thumbnail \ /v1.0", "isSensitive" : false, "isAnnotatable" : false, "isShareable" : true, "isDownloadable" : true, "isDivisionShared" : false, "useOptimized" : true, "taille du fichier" : 10, "vues" : 0, "externalId" : null, "externalServiceId" : null, "externalDate" : null, "expiresAt" : null, "releaseAt" : null, "createdAt" : "2017-09-27T 11h49m35s +00:00", "updatedAt" : "2017-09-27T 11h49m36s +00:00", "archivedAt" : null, "aimé" : faux, "likesCount" : 0, "appLink" : "Showpad: \ / \ / file \ /32271a3059052a9a5d3310ecfce56d45", "standard" : "25", "extension" : "txt", "lockedPages" : null, "pageCount" : null, "isPersonal" : true, "channelTemplateConfigId" : null, "onlyShareEntireDocument" : false, étiquettes "href" : "https : \ / \ / mycompany.showpad-dev.biz \ / API \ / v3 \ / assets \ /5b65a2743446caa88f62f44b4aad3cc9\ / tags" }, "division" :{ "id" : "4d3716141c8ffb76928e602548fb9f1c", "href" : "https : \ / \ / mycompany.showpad-dev.biz \ / API \ / v3 \ / divisions \ /4d3716141c8ffb76928e602548fb9f1c" }, "assetView" : { "id" : "4d4d5b064b589d4ef7c3446f63dcc8a7", "href" : "https : \ / \ / mycompany.showpad-dev.biz \ / API \ / v3 \ / assetviews \ /4d4d5b064b589d4ef7c3446f63dcc8a7" }, "téléchargé le" : " 27-09-2017T11 :49:35+00:00" } }
Remarque : lorsque vous téléchargez un actif qui a besoin d'être traité (exemple : PDF, Word, Excel, Powerpoint, etc.), vous obtenez un ID ticket en réponse. Continuez à interroger (toutes les 30 secondes) cette ressource de ticket jusqu'à ce que vous obteniez un ID d'actif valide. Plus d'informations sur le traitement des fichiers sont disponibles ici.
Création d'actifs et de balises de la manière la plus optimisée
Remarque : Dans le scénario suivant, les divisions ne sont pas prises en charge.
Un bref aperçu.
- Récupérez toutes les balises disponibles dans Showpad
- Ajoutez des balises supplémentaires-si nécessaire
- Téléchargez tous les actifs avec les balises requises.
- Vérifiez l'état du traitement.
L'aperçu détaillé.
- Récupérez toutes les balises disponibles dans Showpad.
Récupérez toutes les balises disponibles dans Showpad et stockez-les dans une bibliothèque ou une base de données. Cela peut être une base de données physique ou juste une variable en mémoire.
Il est important que vous puissiez facilement rechercher une étiquette par son nom et obtenir son ID Showpad correspondant en retour.
curl -X GET --header 'Accepter : application / JSON' --header 'Autorisation : Le porteur xxxxxxxxxxxxxxxxxxx 'https://subdomain.showpad.biz/api/v3/tags.json?fields = id% 2C% 20name% 2C% 20externalService & limit = unlimited'
Explication du paramètre :
champs = id, nom, externalService
Cela renverra uniquement l'ID de la balise, le nom de la balise et le service externe associé à cette balise.
Lorsqu'une balise est créée via SharePoint, vous remarquerez que la valeur de Service externe 'est pas null.
limite = illimité
Cela retournera jusqu'à 1000 records. Gardez un œil sur le nombre d'enregistrements dans la réponse. S'il s'agit de plus de 1000, veuillez également ajouter un décalage pour la prochaine demande.
- Ajouter des tags supplémentaires-si nécessaire
curl -X POST-entête "Content-Type : application / x-www-form-urlencoded" --header 'Accepter : application / JSON' --header 'Autorisation : porteur xxxxxxxxxx' -d 'name = API% 20tag' 'https : //subdomain.Showpad.biz/API/v3/tags.JSON'
Cela retournera l'ID Showpad pour la balise créée
- Télécharger tous les actifs avec les tags requis
C'est le gros API-call-économiseur.
boucle
X POST-en-tête 'Content-Type : multipart / form-data'-en-tête 'Accepter : application / JSON 'en-tête 'Lien : <36613327fa3b3d724211bdbb7c3e6a81; rel = Tag >, <36613327fafb3d724211bdbb7c3e6c91; rel = Tag >' --header 'Authorization : Bearer xxxxxxxxxxxx' 'https://subdomain.showpad.biz/api/v3/assets.json'Remarque : le téléchargement de fichier réel est omis de la demande ci-dessus.
Param explication :
--header Link : il s'agit d'une liste de toutes les balises, en l'occurrence, séparées par des virgules, qui devraient être liées à l'actif. La structure d'un élément de lien est < showpadId ; rel = ResourceType >
- Vérifier l'état du traitement
curl -X GET --header 'Accepter : application / JSON' --header 'Autorisation : Porteur xxxxxxxxxx ''https://subdomain.showpad.biz/api/v3/tickets.json?limit=unlimited&sort=-scheduledAt'
Param explication :
limit = unlimited : Ceci retournera jusqu'à 1000 records.
sort = -scheduledAt : Ceci triera les enregistrements en fonction de leur date de création (planifiés), par ordre décroissant (le plus récent en premier).
Cela facilitera la vérification des actifs traités (ou non).