Esta sección pretende ser un recurso que le ayude en el desarrollo de su integración, proporcionando tutoriales de la API para las funciones de integración más comunes. (Toda la documentación de la API está disponible en la Referencia de la API.)
Será útil tener una comprensión general de cómo funciona la aplicación STACK medida y Estimación antes de saltar a los tutoriales individuales y comenzar el desarrollo.
Para ello, a continuación se muestra el flujo de trabajo básico que seguiría un usuario al utilizar la aplicación y se describe la terminología empleada. También puede consultar nuestro centro de ayuda en línea para obtener más información sobre funciones específicas y cómo se utilizan y registrarse para obtener una cuenta gratuita para experimentar la aplicación por ti mismo.
medida básico y flujo de trabajo de estimación
Todo el trabajo de medida y de estimación en STACK se realiza en el contexto de un proyecto. Un proyecto es una agrupación de planos y otra documentación, junto con metadatos relevantes como las fechas de licitación.
Los archivos se cargan en STACK y se dividen en páginas componentes para su uso en el área del lienzo de planos de STACK o se mantienen enteros y disponibles para su descarga. Los archivos cargados se denominan comúnmente páginas, planos o conjuntos de planos.
Las páginas del Plan se organizan en Carpetas. Puede utilizar carpetas para separar unas páginas de otras. Por ejemplo, puede crear una carpeta dedicada al conjunto arquitectónico y otra carpeta dedicada al conjunto eléctrico. También puede utilizar carpetas para organizar revisiones o conjuntos de anexos como parte del control de versiones.
A medida representa un detalle o sistema del edificio que el contratista necesita estimar. Por ejemplo, un medida puede ser una moldura metálica alrededor de una ventana o representar la estructura, el aislamiento y los paneles de yeso de un sistema de paredes.
Dibuje medidas con cada medida para mostrar dónde se encuentra el detalle del edificio en una página de plano. STACK calculará primero todos los datos de cada medida y luego sumará esos valores en informes y presupuestos.
NOTA: medidas está vinculado a un proyecto y no puede crearse por sí solo.
Un presupuesto representa los datos de medida (cantidades y costes de material, equipos, mano de obra y subcontratación) necesarios para realizar el trabajo. Un contratista o estimador puede ajustar las cantidades, precios y márgenes finales en la hoja de cálculo del presupuesto antes de descargar la propuesta, o documento final, para enviarla al cliente. También pueden añadir costes específicos del proyecto o costes no medidos. Puede crear tantos presupuestos y propuestas por proyecto como necesite.
NOTA: Los presupuestos y las propuestas son exclusivos de un proyecto determinado y no pueden crearse por sí solos.
Un proyecto es una agrupación de planos y otra documentación, junto con metadatos relevantes como las fechas de licitación. Todo el trabajo de medida y de estimación en STACK se realiza en el contexto de un proyecto.
Para crear un nuevo proyecto, utilice el punto final Crear un proyecto (consulte la sección Proyectos de la Referencia de la API) y proporcione lo siguiente:
NOTA: Sólo bidDate y name son campos obligatorios, el resto son opcionales.
Se creará el proyecto y se devolverá un nuevo projectId.
* Para actualizar la dirección, incluya el stateId del punto final List States (consulte la sección Estados en la Referencia API) y el countryId del extremo List Countries (consulte la sección Countries en la Referencia de la API Referencia de la API). Consulte Recuperar una lista de Id. de estado o país para obtener más información.
Cabeceras de solicitud:
POST https://{server}/api/v2/Projects
Authorization: Bearer 4M4tperlk1zmqEzPrfaFCLEn… (access_token)
content-type: application/json;charset=UTF-8
accept: application/json, text/plain, */*
Para actualizar la información del proyecto, utilice el punto final Actualizar un proyecto (consulte la sección Proyectos de la Referencia de la API) y proporcione la información más reciente.
Puedes actualizarte:
* Para actualizar la dirección, incluya el stateId del punto final List States (consulte la sección Estados en la Referencia API) y el countryId del extremo List Countries (consulte la sección Countries en la Referencia de la API Referencia de la API). Consulte Recuperar una lista de Id. de estado o país para obtener más información.
Las páginas del plan se organizan en carpetas. Puede utilizar carpetas para separar unas páginas de otras. Por ejemplo, puede crear una carpeta dedicada al conjunto arquitectónico y otra carpeta dedicada al conjunto eléctrico. También puede utilizar carpetas para organizar revisiones o conjuntos de anexos como parte del control de versiones.
Para crear una nueva carpeta, llame al punto final Crear una carpeta en la raíz del proyecto (consulte la sección Carpetas en la Referencia de la API) con:
La nueva carpeta se colocará debajo de la carpeta principal.
Para crear la carpeta en el nivel superior, establezca el parentFolderId igual a 0 (cero).
Se devolverá un nuevo folderId en la respuesta. Puede utilizarse al cargar un plan o al crear subcarpetas adicionales, creando así una jerarquía de carpetas.
Cabeceras de solicitud:
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 crea automáticamente tres carpetas por defecto:
Documentos de apoyo - Los archivos subidos a esta carpeta se almacenarán como un repositorio de almacenamiento de archivos, similar a Google Drive o OneDrive. Los archivos no generarán una vista previa/imagen en miniatura.
Al añadir un archivo a un proyecto, se requiere un folderId.
Para seleccionar una carpeta existente:
Encabezados de solicitud - Lista de carpetas en la raíz del proyecto:
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, */*
Encabezados de solicitud - Lista de carpetas de una carpeta:
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, */*
Para recuperar una carpeta, llame al punto final Obtener una carpeta (consulte la sección Carpetas de la Referencia de la API).
Consulte la Documentación de la API de carpetas para obtener más información.
Solicitar cabeceras - Obtener una carpeta:
GET https://{server}/api/v2/Folders/{folderId}
Authorization: Bearer 4M4tperlk1zmqEzPrfaFCLEn… (access_token)
content-type: application/json;charset=UTF-8
accept: application/json, text/plain, */*
Puede actualizar las propiedades de una carpeta llamando al punto final Actualizar una carpeta existente (consulte la sección Carpetas de la Referencia de la API) con el folderId.
Puedes actualizarte:
Los archivos se cargan en STACK y se dividen en páginas componentes para su uso en el área del lienzo de planos de STACK o se mantienen enteros y disponibles para su descarga. Los archivos cargados se denominan comúnmente planos o conjuntos de planos.
STACK admite los siguientes tipos de archivos:
NOTA: Si está trabajando con archivos PNG, CAD o BIM (por ejemplo, DWF, DWG, DXF) tendrá que convertirlos a uno de los formatos anteriores.
Para cargar un nuevo plan:
Consulte la documentación de la API para ver un ejemplo de solicitud.
Encabezados de solicitud - Archivos Cargar 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
Para determinar cuándo el plan ha completado el proceso de carga:
Solicitar cabeceras - Listar páginas en un medida:
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, */*
Para recuperar los detalles de un archivo, utilice el punto final Obtener los detalles de un archivo (consulte la sección Archivos de la Referencia de la API) y proporcione el fileId.
Para actualizar las propiedades de un archivo, utilice el punto final Actualizar las propiedades de un archivo (consulte la sección Archivos en la Referencia de la API) y proporcione el fileId.
Puedes actualizarte:
*Para mover el archivo, indique el nuevo folderId. Véase Seleccionar una carpeta existente para más detalles.
Un dibujo a escala muestra un objeto real con un tamaño exacto reducido o ampliado en una cantidad determinada (denominada escala).
Los conjuntos arquitectónicos tienden a hacer referencia a 1'-0", como ¼" = 1'-0" o 1/8" = 1'-0".
Los juegos de ingeniería tienden a hacer referencia a 1", como 1" = 10' o 1" = 20'.
Hay escalas métricas disponibles.
Para fijar la escala de un plano:
Cabeceras de solicitud:
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, */*
medida representa un detalle o sistema del edificio que el contratista debe estimar.
Por ejemplo, un medida puede ser una moldura metálica alrededor de una ventana o representar la estructura, el aislamiento y los paneles de yeso de un sistema de paredes.
Seleccione el tipo de medición para medida:
Tipo de medición | Descripción |
---|---|
Zona | Mida el área plana haciendo clic en cada esquina |
Lineal | Mide la distancia haciendo clic en cada punto |
Cuenta | Contar objetos haciendo clic en el plano para colocar un símbolo |
Lineal con caída | Medir una distancia y contar gotas |
Superficie | Introduzca la subida y la bajada para medir una superficie inclinada o en pendiente |
Lineal inclinado | Introduzca la subida y la bajada para medir una distancia inclinada o en pendiente |
Superficie | Introduzca la altura del muro y mida el área haciendo clic en los extremos de cada muro |
Volumen 2D | Introduzca la profundidad y mida el volumen haciendo clic en cada esquina |
Volumen 3D | Introduzca la anchura y la altura y mida el volumen haciendo clic en cada punto |
Dibuje mediciones con cada medida para mostrar dónde se produce el estado del edificio en una página de plano. STACK calculará primero todos los datos de cada medición y, a continuación, sumará esos valores en informes y presupuestos.
NOTA: medidas está vinculado a un proyecto y no puede crearse por sí solo.
Consulte las siguientes secciones antes de crear un sitio medida:
Cargar y actualizar los datos de un expediente
Establecer una escala personalizada
Para crear un nuevo medida:
Es posible que desee dibujar manualmente una o dos mediciones si piensa utilizar este medida para otras funciones, como informes y estimaciones.
Cabeceras de solicitud:
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, */*
Cuando se crea un presupuesto en la aplicación STACK , también se crea una propuesta. Un presupuesto representa los datos de medida (cantidades y costes de material, equipamiento, mano de obra y subcontratación) necesarios para realizar el trabajo. Un contratista o estimador puede ajustar las cantidades, precios y márgenes finales en la hoja de cálculo del presupuesto antes de descargar la propuesta, o documento final, para enviarla al cliente. También pueden añadir costes específicos del proyecto o costes no medidos. Puede crear tantos presupuestos y propuestas por proyecto como necesite.
NOTA: Los presupuestos y las propuestas son exclusivos de un proyecto determinado y no pueden crearse por sí solos.
Consulte las siguientes secciones antes de crear un presupuesto y una propuesta:
Cargar y actualizar los datos de un expediente
Establecer una escala personalizada
Para crear un nuevo EstimateProposal:
Si tiene éxito, se creará una nueva EstimateProposal con un proposalId único que se podrá utilizar en las siguientes convocatorias.
Véase Añadir tipo impositivo por defecto a tipos de coste para obtener datos adicionales que pueden añadirse durante la creación del EstimateProposal.
Cabeceras de solicitud:
POST https://{server}/api/v2/EstimateProposals
Authorization: Bearer 4M4tperlk1zmqEzPrfaFCLEn… (access_token)
content-type: application/json;charset=UTF-8
accept: application/json, text/plain, */*
Puede actualizar los detalles de una EstimateProposal existente enviando la siguiente información al punto final Actualizar una EstimateProposal existente (consulte la sección EstimateProposals de la sección Referencia de la API):
Los tipos de coste son designaciones - equipo, mano de obra, material, subcontratista y/o tipo(s) de coste personalizado(s) - que pueden aplicarse a artículos individuales. Puede aplicar varios tipos de coste a un artículo y asignar un coste unitario y un código contable diferentes al artículo para cada tipo de coste. Los datos de cada tipo de coste aplicado aparecerán en los informes de artículos y en el presupuesto de material y mano de obra.
Puede añadir tipos impositivos por defecto a los tipos de coste. Esto aplicará automáticamente el tipo impositivo asignado a los artículos con el tipo de coste designado. Para artículos con múltiples tipos de coste, el artículo aparecerá como una partida individual bajo cada tipo de coste.
Al crear un nuevo presupuesto(EstimateProposal), se puede incluir una lista de objetos Tax Request en el campo Taxes del campo Crear un presupuesto Crear un presupuesto. Esta lista representa el porcentaje de impuestos por defecto que se aplicará a un artículo añadido a medida para el tipo de coste asociado.
Para recuperar una lista de todos los CostTypes disponibles:
Véase la Documentación de la API CostTypes para obtener más información.
Cabeceras de solicitud:
GET https://{server}/api/v2/CostTypes
Authorization: Bearer 4M4tperlk1zmqEzPrfaFCLEn… (access_token)
content-type: application/json;charset=UTF-8
accept: application/json, text/plain, */*
Una vez marcado un plano con medidas y marcas, puede exportar y descargar un archivo PDF local.
El proceso de descarga consta de dos pasos:
Ver el Imprimir y DocumentJob para obtener más información.
Solicitar cabeceras - Crear un trabajo de impresión:
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, */*
Encabezados de solicitud - Descargar documento para el trabajo:
GET https://{server}/api/v2/DocumentJob/{jobId}
Authorization: Bearer 4M4tperlk1zmqEzPrfaFCLEn… (access_token)
content-type: application/json;charset=UTF-8
accept: application/json, text/plain, */*
Para recuperar todas las páginas disponibles para un determinado medida, utilice el punto final Lista de páginas en un medida (consulte la sección Páginas en la Referencia de la API).
Este endpoint devolverá una lista de objetos de página en la respuesta.
Consulte la Documentación de la API de páginas para obtener más información.
Cabeceras de solicitud:
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, */*
Cuando se crea un presupuesto en la aplicación STACK , también se crea una propuesta. En ellas se muestran los datos de medida (cantidades y costes de material, equipamiento, mano de obra y subcontratación) necesarios para realizar el trabajo. En la hoja de cálculo del presupuesto, el estimador añade los costes específicos del proyecto o no medidos y ajusta las cantidades, precios y márgenes finales. La propuesta es el documento final que puede descargarse y enviarse al cliente.
Puede haber varios presupuestos y propuestas por proyecto.
Para recuperar un EstimateProposal incluyendo todos los detalles de las partidas:
Véase la Documentación de la API EstimateProposals para más detalles.
Cabeceras de solicitud:
GET https://{server}/api/v2/EstimateProposals/{proposalId}
Authorization: Bearer 4M4tperlk1zmqEzPrfaFCLEn… (access_token)
content-type: application/json;charset=UTF-8
accept: application/json, text/plain, */*
El informe EstimateProposal proporciona información detallada para una EstimateProposal determinada. Los detalles son similares a la información de la estimación disponible en la aplicación STACK - vista de informes.
Para recuperar un informe EstimateProposalspara un proposalId dado:
Esta vista es la misma información que se presenta en la aplicación STACK Informes de Presupuestos con Agrupaciones establecidas en Ninguno.
Consulte la Documentación de la API de informes para más detalles.
Cabeceras de solicitud:
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, */*
Para recuperar la lista de EstimateProposalsde un determinado medida:
Véase la medidas API de la API para más detalles.
Cabeceras de solicitud:
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
La API STACK tiene identificadores únicos de estado y país. Para los objetos de dominio (por ejemplo, EstimateProposalPreparedFor), en los que desee incluir el estado y/o el país en una dirección, deberá recuperar e incluir stateId y/o countryId.
Para recuperar una lista de estados y sus ID, utilice el punto final Lista de estados (consulte la sección Estados en la Referencia de la API Referencia de la API).
Cabeceras de solicitud:
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
Para obtener una lista de ID de países, utilice el punto final Lista de países (consulte la sección Países de la Referencia API).
Cabeceras de solicitud:
GET https://{server}/api/v2/Countries
Authorization: Bearer 4M4tperlk1zmqEzPrfaFCLEn… (access_token)
content-type: application/json;charset=UTF-8
accept: application/json, text/plain, */*