Cette section est destinée à vous aider dans le développement de votre intégration, en fournissant des tutoriels API pour les fonctionnalités d'intégration les plus courantes. (Toute la documentation de l'API est disponible dans la Référence API.)
Il est utile d'avoir une compréhension générale du fonctionnement de l'application STACK prise de mesure et Estimation avant de se plonger dans les tutoriels individuels et de commencer le développement.
À cette fin, vous trouverez ci-dessous le flux de travail de base qu'un utilisateur doit suivre lorsqu'il utilise l'application, ainsi qu'une description de la terminologie utilisée. Vous pouvez également consulter notre centre d'aide en ligne pour plus d'informations sur des fonctionnalités spécifiques et leur utilisation, et vous inscrire à un compte gratuit pour découvrir l'application par vous-même.
Flux de travail de base pour prise de mesure et l'estimation
Tous les travaux de prise de mesure et d'estimation dans STACK sont effectués dans le contexte d'un projet. Un projet est un regroupement de plans et d'autres documents, ainsi que des métadonnées pertinentes telles que les dates de soumission.
Les fichiers sont téléchargés sur STACK et sont soit divisés en pages composantes pour être utilisés dans la zone de canevas de plan de STACK , soit conservés dans leur intégralité et disponibles pour le téléchargement. Le fichier téléchargé est communément appelé pages, plans ou ensembles de plans.
Les pages du plan sont organisées sous forme de dossiers. Vous pouvez utiliser des dossiers pour séparer certaines pages des autres. Par exemple, vous pouvez créer un dossier dédié à l'ensemble architectural et un autre dossier dédié à l'ensemble électrique. Vous pouvez également utiliser les dossiers pour organiser les révisions ou les addendums dans le cadre du contrôle des versions.
A prise de mesure représente un détail ou un système de construction que l'entrepreneur doit estimer. Par exemple, prise de mesure peut être une garniture métallique autour d'une fenêtre ou représenter l'ossature, l'isolation et les cloisons sèches d'un système mural.
Vous dessinez des mesures sur chaque site prise de mesure pour montrer où se trouve le détail du bâtiment sur une page de plan. STACK calculera d'abord toutes les données pour chaque mesure, puis additionnera ces valeurs sur les rapports et les estimations.
NOTE : prises de mesures est lié à un projet et ne peut pas être créé seul.
Un devis représente les données prise de mesure - matériel, équipement, main-d'œuvre, quantités et coûts de sous-traitance - nécessaires à l'exécution du travail. Un entrepreneur ou un estimateur peut ajuster les quantités, les prix et les majorations finales sur la feuille de calcul de l'estimation avant de télécharger la proposition, ou document final, à envoyer au client. Il peut également ajouter des coûts spécifiques au projet ou des coûts non mesurés. Vous pouvez créer autant de devis et de propositions que nécessaire par projet.
NOTE : Les devis et les propositions sont propres à un projet donné et ne peuvent être créés seuls.
Un projet est un regroupement de plans et d'autres documents, ainsi que des métadonnées pertinentes telles que les dates de soumission. Tous les travaux de prise de mesure et d'estimation dans STACK sont effectués dans le contexte d'un projet.
Pour créer un nouveau projet, utilisez le point de terminaison Créer un projet (voir la section Projets dans la Référence API) et fournissez les informations suivantes :
NOTE : Seuls les champs bidDate et name sont obligatoires, les autres sont facultatifs.
Le projet sera créé et un nouvel identifiant de projet sera renvoyé.
* Pour mettre à jour l'adresse, inclure le stateId du point de terminaison List States (voir la section States dans l'API Référence API) et le countryId du point de terminaison List Countries (voir la section Countries dans la référence API). Référence API). Voir Récupérer une liste d'ID d'État ou de pays pour plus de détails.
En-têtes de requête :
POST https://{server}/api/v2/Projects
Authorization: Bearer 4M4tperlk1zmqEzPrfaFCLEn… (access_token)
content-type: application/json;charset=UTF-8
accept: application/json, text/plain, */*
Pour mettre à jour les informations relatives au projet, utilisez le point de terminaison Mettre à jour un projet (voir la section Projets dans la Référence API) et fournissez les dernières informations.
Vous pouvez mettre à jour :
* Pour mettre à jour l'adresse, inclure le stateId du point de terminaison List States (voir la section States dans l'API Référence API) et le countryId du point de terminaison List Countries (voir la section Countries dans la référence API). Référence API). Voir Récupérer une liste d'ID d'État ou de pays pour plus de détails.
Les pages du plan sont organisées en dossiers. Vous pouvez utiliser les dossiers pour séparer certaines pages des autres. Par exemple, vous pouvez créer un dossier dédié à l'ensemble architectural et un autre dossier dédié à l'ensemble électrique. Vous pouvez également utiliser les dossiers pour organiser les révisions ou les addendums dans le cadre du contrôle des versions.
Pour créer un nouveau dossier, appelez le point de terminaison Créer un dossier à la racine du projet (voir la section Dossiers dans l'API Référence API) avec :
Le nouveau dossier sera placé sous le dossier parent.
Pour créer le dossier au niveau supérieur, définissez parentFolderId égal à 0 (zéro).
Un nouveau folderId sera renvoyé dans la réponse. Il peut être utilisé lors du téléchargement d'un plan ou de la création de sous-dossiers supplémentaires, créant ainsi une hiérarchie de dossiers.
En-têtes de requête :
POST https://{server}/api/v2/Projects/{projectId}/Folders
Authorization: Bearer 4M4tperlk1zmqEzPrfaFCLEn… (access_token)
content-type: application/json;charset=UTF-8
accept: application/json, text/plain, */*
STACK crée automatiquement trois dossiers par défaut :
Documents justificatifs - Les fichiers téléchargés dans ce dossier seront stockés comme un référentiel de stockage de fichiers, similaire à Google Drive ou OneDrive. Les fichiers ne génèrent pas d'aperçu ou d'image miniature.
Lors de l'ajout d'un fichier à un projet, un identifiant de dossier est requis.
Pour sélectionner un dossier existant :
En-têtes de requête - Liste des dossiers dans la racine du projet :
GET https://{server}/api/v2/Projects/{projectId}/Folders
Authorization: Bearer 4M4tperlk1zmqEzPrfaFCLEn… (access_token)
content-type: application/json;charset=UTF-8
accept: application/json, text/plain, */*
En-têtes de requête - Lister les dossiers dans un dossier :
GET https://{server}/api/v2/Folders/{folderId}/Folders
Authorization: Bearer 4M4tperlk1zmqEzPrfaFCLEn… (access_token)
content-type: application/json;charset=UTF-8
accept: application/json, text/plain, */*
Pour récupérer un dossier, appelez le point de terminaison Obtenir un dossier (voir la section Dossiers dans la Référence API).
Voir la documentation de l'API Documentation de l'API Dossiers pour plus de détails.
En-têtes de requête - Obtenir un dossier :
GET https://{server}/api/v2/Folders/{folderId}
Authorization: Bearer 4M4tperlk1zmqEzPrfaFCLEn… (access_token)
content-type: application/json;charset=UTF-8
accept: application/json, text/plain, */*
Vous pouvez mettre à jour les propriétés d'un dossier en appelant le point de terminaison Update an existing Folder (voir la section Folders dans la Référence API) avec le folderId.
Vous pouvez mettre à jour :
Les fichiers sont téléchargés sur STACK et sont soit divisés en pages composantes pour être utilisés dans la zone de canevas de plan de STACK , soit conservés dans leur intégralité et disponibles pour le téléchargement. Le fichier téléchargé est communément appelé plan ou ensemble de plans.
STACK prend en charge les types de fichiers suivants :
REMARQUE : si vous travaillez avec des fichiers PNG, CAD ou BIM (par exemple, DWF, DWG, DXF), vous devrez les convertir dans l'un des formats ci-dessus.
Pour télécharger un nouveau plan :
Voir la documentation de l'API pour un exemple de demande.
En-têtes de demande - Fichiers Télécharger un plan :
POST https://{server}/api/v2/Folders/{folderId}/Files HTTP/1.1
Authorization: Bearer 4M4tperlk1zmqEzPrfaFCLEn… (access_token)
Content-Type: multipart/form-data; boundary=—-WebKitFormBoundaryhBGJZvGSuQiPwHsU
——WebKitFormBoundaryhBGJZvGSuQiPwHsU
Content-Disposition: form-data; name=”body”
{ “fileName”:”file.png”, “fileVersion”:”1.0″, “folderId”:149, “isPlan”:true, “projectId”:157}
——WebKitFormBoundaryhBGJZvGSuQiPwHsU
Content-Disposition: form-data; name=”file”; filename=”file.png”
Content-Type: application/pdf
Pour déterminer quand le plan a terminé le processus de téléchargement :
Demande d'en-têtes - Liste des pages d'un site prise de mesure:
GET https://{server}/api/v2/Takeoffs/{takeoffId}/Pages
Authorization: Bearer 4M4tperlk1zmqEzPrfaFCLEn… (access_token)
content-type: application/json;charset=UTF-8
accept: application/json, text/plain, */*
Pour récupérer les détails d'un fichier, utilisez le point de terminaison Obtenir les détails d'un fichier (voir la section Fichiers dans la Référence API) et fournissez l'identifiant du fichier (fileId).
Pour mettre à jour les propriétés d'un fichier, utilisez le point de terminaison Mettre à jour les propriétés d'un fichier (voir la section Fichiers dans la Référence API) et fournissez l'identifiant du fichier.
Vous pouvez mettre à jour :
*Pour déplacer le fichier, indiquez le nouvel ID de dossier. Voir Sélection d'un dossier existant pour plus de détails.
Un dessin à l'échelle représente un objet réel dont la taille exacte est réduite ou agrandie d'une certaine quantité (appelée échelle).
Les ensembles architecturaux ont tendance à faire référence à 1'-0", comme ¼" = 1'-0" ou 1/8" = 1'-0".
Les ensembles techniques ont tendance à faire référence à 1", par exemple 1" = 10' ou 1" = 20'.
Des échelles métriques sont disponibles.
Fixer l'échelle d'un plan :
En-têtes de requête :
POST https://{server}/api/v2/Takeoffs/{takeoffId}/Pages/{pageId}/Scale
Authorization: Bearer 4M4tperlk1zmqEzPrfaFCLEn… (access_token)
content-type: application/json;charset=UTF-8
accept: application/json, text/plain, */*
Un prise de mesure représente un détail ou un système de construction que l'entrepreneur doit estimer.
Par exemple, un prise de mesure peut être une garniture métallique autour d'une fenêtre ou représenter l'ossature, l'isolation et les cloisons sèches d'un système mural.
Vous choisissez le type de mesure pour le site prise de mesure:
Type de mesure | Description |
---|---|
Zone | Mesurez la surface plane en cliquant sur chaque coin |
Linéaire | Mesurer la distance en cliquant sur chaque point |
Compter | Compter les objets en cliquant sur le plan pour placer un symbole |
Linéaire avec chute | Mesurer une distance et compter les gouttes |
Surface en fosse | Saisissez l'élévation et la descente pour mesurer une zone inclinée ou en pente. |
Linéaire en pente | Saisissez l'élévation et la course pour mesurer une distance en pente ou en dévers. |
Surface | Entrez la hauteur du mur et mesurez la surface en cliquant sur les points d'extrémité de chaque mur. |
Volume 2D | Entrez la profondeur et mesurez le volume en cliquant sur chaque coin |
Volume 3D | Saisissez la largeur et la hauteur et mesurez le volume en cliquant sur chaque point. |
Vous dessinez des mesures avec chaque prise de mesure pour montrer où se trouve l'état du bâtiment sur une page de plan. STACK calculera d'abord toutes les données pour chaque mesure, puis fera la somme de ces valeurs dans les rapports et les estimations.
NOTE : prises de mesures est lié à un projet et ne peut pas être créé seul.
Consultez les sections suivantes avant de créer un site prise de mesure:
Créer des projets et des plans
Télécharger et mettre à jour les détails d'un fichier
Définir une échelle personnalisée
Pour créer un nouveau site prise de mesure:
Il peut être utile de dessiner manuellement une ou deux mesures si vous envisagez d'utiliser ce site prise de mesure pour d'autres fonctions, telles que les rapports et les estimations.
En-têtes de requête :
POST https://{server}/api/v2/Projects/{projectId}/CreateTakeoff
Authorization: Bearer 4M4tperlk1zmqEzPrfaFCLEn… (access_token)
content-type: application/json;charset=UTF-8
accept: application/json, text/plain, */*
Lorsque vous créez un devis dans l'application STACK , une proposition est également créée. Un devis représente les données prise de mesure - matériel, équipement, main-d'œuvre, quantités et coûts de sous-traitance - nécessaires à l'exécution du travail. Un entrepreneur ou un estimateur peut ajuster les quantités finales, les prix et les majorations sur la feuille de calcul de l'estimation avant de télécharger la proposition, ou le document final, à envoyer au client. Il peut également ajouter des coûts spécifiques au projet ou des coûts non mesurés. Vous pouvez créer autant de devis et de propositions que nécessaire par projet.
NOTE : Les devis et les propositions sont propres à un projet donné et ne peuvent être créés seuls.
Reportez-vous aux sections suivantes avant de créer un devis et une proposition :
Créer des projets et des plans
Télécharger et mettre à jour les détails d'un fichier
Définir une échelle personnalisée
Pour créer une nouvelle proposition de devis :
En cas de succès, une nouvelle proposition de devis sera créée avec un numéro de proposition unique qui pourra être utilisé pour les appels ultérieurs.
Voir Ajout d'un taux d'imposition par défaut aux types de coûts pour les données supplémentaires qui peuvent être ajoutées lors de la création de l'offre de devis.
En-têtes de requête :
POST https://{server}/api/v2/EstimateProposals
Authorization: Bearer 4M4tperlk1zmqEzPrfaFCLEn… (access_token)
content-type: application/json;charset=UTF-8
accept: application/json, text/plain, */*
Vous pouvez mettre à jour les détails d'une proposition de devis existante en envoyant les informations suivantes au point de terminaison Mettre à jour une proposition de devis existante (voir la section Propositions de devis dans l'API Référence API) :
Les types de coûts sont des désignations - équipement, main d'œuvre, matériel, sous-traitant et/ou type(s) de coût personnalisé(s) - qui peuvent être appliquées à des éléments individuels. Vous pouvez appliquer plusieurs types de coûts à un article et attribuer un coût unitaire et un code comptable différents à l'article pour chaque type de coût. Les données relatives à chaque type de coût appliqué apparaîtront dans les rapports sur les articles et dans le devis des matériaux et de la main-d'œuvre.
Vous pouvez ajouter des taux de taxe par défaut aux types de coûts. Cela permet d'appliquer automatiquement le taux de taxe attribué aux articles du type de coût désigné. Pour les articles ayant plusieurs types de coûts, l'article apparaîtra comme une ligne sous chaque type de coût.
Lors de la création d'un nouveau devis(EstimateProposal), une liste d'objets Tax Request peut être incluse dans le champ Taxes de la boîte de dialogue Créer un devis de la demande de création d'un devis. Cette liste représente le pourcentage de taxe par défaut qui sera appliqué à un élément ajouté à prise de mesure pour le type de coût associé.
Pour obtenir une liste de tous les types de coûts disponibles :
Voir la Documentation API CostTypes pour plus de détails.
En-têtes de requête :
GET https://{server}/api/v2/CostTypes
Authorization: Bearer 4M4tperlk1zmqEzPrfaFCLEn… (access_token)
content-type: application/json;charset=UTF-8
accept: application/json, text/plain, */*
Une fois qu'un plan a été annoté avec des mesures et des annotations, vous pouvez exporter et télécharger un fichier PDF local.
Le processus de téléchargement se déroule en deux étapes :
Voir le Imprimer et DocumentJob pour plus de détails.
Demander des en-têtes - Créer un travail d'impression :
POST https://{server}/api/v2/Print/Takeoff/{takeoffId}
Authorization: Bearer 4M4tperlk1zmqEzPrfaFCLEn… (access_token)
content-type: application/json;charset=UTF-8
accept: application/json, text/plain, */*
En-têtes de requête - Télécharger le document pour le travail :
GET https://{server}/api/v2/DocumentJob/{jobId}
Authorization: Bearer 4M4tperlk1zmqEzPrfaFCLEn… (access_token)
content-type: application/json;charset=UTF-8
accept: application/json, text/plain, */*
Pour récupérer toutes les pages disponibles pour un site prise de mesure donné, utilisez le point de terminaison List Pages ona prise de mesure (voir la section Pages dans le document Référence de l'API).
Ce point d'accès renvoie une liste d'objets de page dans la réponse.
Voir la documentation de l'API Documentation de l'API Pages pour plus de détails.
En-têtes de requête :
GET https://{server}/api/v2/Takeoffs/{takeoffId}/Pages
Authorization: Bearer 4M4tperlk1zmqEzPrfaFCLEn… (access_token)
content-type: application/json;charset=UTF-8
accept: application/json, text/plain, */*
Lorsqu'un devis est créé dans l'application STACK , une proposition est également créée. Ils affichent les données prise de mesure - matériel, équipement, main-d'œuvre, quantités et coûts de sous-traitance - nécessaires à l'exécution du travail. C'est sur la feuille de calcul de l'estimation que l'estimateur ajoute tous les coûts spécifiques au projet ou non mesurés et ajuste les quantités, les prix et les majorations finales. La proposition est le document final qui peut être téléchargé et envoyé au client.
Il peut y avoir plusieurs estimations et propositions par projet.
Pour récupérer une proposition de devis comprenant tous les détails des postes :
Voir la documentation de l'API Documentation de l'API EstimateProposals pour plus de détails.
En-têtes de requête :
GET https://{server}/api/v2/EstimateProposals/{proposalId}
Authorization: Bearer 4M4tperlk1zmqEzPrfaFCLEn… (access_token)
content-type: application/json;charset=UTF-8
accept: application/json, text/plain, */*
Le rapport DevisProposition fournit des informations détaillées pour un DevisProposition donné. Les détails sont similaires aux informations sur les devis disponibles dans la vue Rapports de l'application STACK .
Pour extraire un rapport EstimateProposalspour un proposalId donné :
Cette vue correspond aux informations présentées dans l'application STACK Rapports d'estimation avec des groupements définis sur Aucun.
Voir la documentation de l'API Documentation de l'API Rapports pour plus de détails.
En-têtes de requête :
POST https://{server}/api/v2/Reports/EstimateProposals/{proposalId}
Authorization: Bearer 4M4tperlk1zmqEzPrfaFCLEn… (access_token)
content-type: application/json;charset=UTF-8
accept: application/json, text/plain, */*
Pour récupérer la liste des EstimateProposalspour un prise de mesure donné :
Voir l prises de mesures API pour plus de détails. pour plus de détails.
En-têtes de requête :
GET https://{server}/api/v2/EstimateProposals/{proposalId}
Authorization: Bearer 4M4tperlk1zmqEzPrfaFCLEn… (access_token)
content-type: application/json;charset=UTF-8
accept: application/json, text/plain, */*
accept-encoding: gzip, deflate, br
L'API STACK dispose d'identifiants uniques pour les États et les pays. Pour les objets de domaine (par exemple, EstimateProposalPreparedFor), lorsque vous souhaitez inclure l'État et/ou le pays dans une adresse, vous devez récupérer et inclure stateId et/ou countryId.
Pour récupérer une liste d'états et leurs identifiants, utilisez le point de terminaison List States (voir la section States dans l'API Référence API).
En-têtes de requête :
GET https://{server}/api/v2/States
Authorization: Bearer 4M4tperlk1zmqEzPrfaFCLEn… (access_token)
content-type: application/json;charset=UTF-8
accept: application/json, text/plain, */*
accept-encoding: gzip, deflate, br
Pour obtenir une liste d'identifiants de pays, utilisez le point de terminaison Liste des pays (voir la section Pays dans la Référence API).
En-têtes de requête :
GET https://{server}/api/v2/Countries
Authorization: Bearer 4M4tperlk1zmqEzPrfaFCLEn… (access_token)
content-type: application/json;charset=UTF-8
accept: application/json, text/plain, */*