Guía de sesión de Studio
Piense en una Sesión de Studio como una sala de conferencias digital donde los planos en PDF se pueden marcar de forma simultánea o asincrónica. Esta guía cubre el ciclo de vida general de una Sesión de Studio e incluye ejemplos de código. Para obtener más información sobre Studio y las Sesiones de Studio en general, visita nuestra Página de preguntas frecuentes sobre Studio.
Hay URL base específicas de cada región que se aplican a todos los puntos finales:
- EE. UU.: https://api.bluebeam.com
- DE: https://api.bluebeamstudio.de
- AU: https://api.bluebeamstudio.com.au
- UK: https://api.bluebeamstudio.co.uk
- SE: https://api.bluebeamstudio.se
Por ejemplo, https://api.bluebeam.com/publicapi/v1/sessions en EE. UU. sería https://api.bluebeamstudio.com.au/publicapi/v1/sessions en AU.
Ciclo de vida de las Sesiones de Studio
El ciclo de vida de una Sesión de Studio se puede Dividir en 4 partes:
-
Inicialización: abre la "sala de conferencias digital".
-
Agregue archivos PDF a la sesión para verlos y marcarlos
-
Agregue usuarios a la sesión para que puedan ver y marcar
-
Finalización: cierra la sesión y devuelve los PDF marcados a su sistema de origen.
La primera fase del ciclo de vida de una Sesión de Studio es su creación. Para comenzar, ejecute un comando POST en el punto final Sessions con los siguientes parámetros.
Punto final
https://api.bluebeam.com/publicapi/v1/sessions
Asegúrese de incluir client_id en el encabezado de su solicitud.
Parámetros de solicitud
|
Nombre |
Descripción |
Tipo de valor / Valores posibles |
|---|---|---|
|
|
Nombre de sesión |
Cadena |
|
|
|
Booleano |
|
|
|
Booleano |
|
|
Una vez alcanzada esta fecha, todos los participantes, excepto el anfitrión, serán eliminados de la sesión. |
Must be formatted in UTC format. |
|
|
Este conjunto de permisos se aplicará a todos los usuarios agregados a esta sesión, excepto al anfitrión (el usuario actual). El anfitrión obtiene el control total. |
A continuación se definen los tipos de permisos y los permisos en sí. |
|
Permiso |
Descripción |
Tipo de valor / Valores posibles |
|---|---|---|
|
|
Tipo de permiso |
|
|
|
Estado del permiso |
Permitir, Denegar, Predeterminado |
Fecha de finalización de la sesión
Las fechas de finalización de la Sesión no son obligatorias, pero si se selecciona una, los participantes de la Sesión serán notificados por correo electrónico 7 días, 2 días y 24 horas antes de la fecha de vencimiento.
Ejemplo de cURL
cURL [https://api.bluebeam.com/publicapi/v1/sessions](https://api.bluebeam.com/publicapi/v1/sessions) \
-H "Authorization: Bearer {valid access_token}" \
-H "Content-Type: Application/JSON" \
-H "client_id: [your client_id]" \
-d '{
"Name":"Pied Piper Acquisition Review",
"Notification": true,
"Restricted": true,
"SessionEndDate": "2016-08-17T21:09:07.5174221Z",
"DefaultPermissions":[
{
"Type":"SaveCopy",
"Allow":"Allow"
},
{
"Type":"PrintCopy",
"Allow":"Allow"
},
{
"Type":"Markup",
"Allow":"Allow"
},
{
"Type":"MarkupAlert",
"Allow":"Allow"
},
{
"Type":"AddDocuments",
"Allow":"Deny"
}
]
}' \
-X POST
Permisos
Los usuarios actuales de Studio suelen estar acostumbrados a permisos predeterminados específicos. Siempre es una buena idea verificar cuáles deberían ser los permisos predeterminados o permitir que los usuarios elijan sus permisos. Al utilizar la API de Bluebeam para establecer permisos, "Denegar" es el valor predeterminado.
Cuerpo de respuesta
{
"$id": "1",
"Id": "123-456-789"
}
El siguiente paso es agregar los archivos PDF. Agregar archivos es un proceso de 3 pasos:
-
Creación el bloque de metadatos para el Archivo a través de la API de Bluebeam
-
Sube el archivo directamente a AWS
-
Confirmar la carga a través de la API de Bluebeam
Debido a que PDF/A es un formato de archivo, no permite la edición y provocará que el paso 4, a continuación, falle.
Punto final
https://api.bluebeam.com/publicapi/v1/sessions/{sessionId}/files
Parámetros
|
Nombre |
Descripción |
Tipo de valor / Valores posibles |
|---|---|---|
|
|
Nombre del archivo |
Cadena que termina en ".pdf" |
|
|
Ruta de origen; esto puede Ayuda a identificar de dónde proviene el Archivo más adelante en el proceso |
Cadena |
|
|
Tamaño del archivo; dejar nulo para que el servidor lo calcule |
Entero |
|
|
Deje nulo para que el servidor lo calcule |
Cadena |
Ejemplo de cURL
cURL [https://api.bluebeam.com/publicapi/v1/sessions/123-456-789/files](https://api.bluebeam.com/publicapi/v1/sessions/123-456-789/files) \
-H "Authorization: Bearer {valid access_token}" \
-H "Content-Type: Application/JSON" \
-H "client_id: [your client_id]" \
-d '{
"Name":"Pied_Piper_Acquisition.pdf",
"Source":"[https://portfolio.raviga.com/primarybets/piedpiper/legaldocs/Pied_Piper_Acquisition.pdf](https://portfolio.raviga.com/primarybets/piedpiper/legaldocs/Pied_Piper_Acquisition.pdf)"
}' \
-X POST
Ejemplo de respuesta
{
"Id": 1234567
"UploadUrl":"{upload file to this URL}"
"UploadContentType":"Application/PDF"
}
Ventana de carga
La URL de carga es válida durante 10 minutos para iniciar la carga.
Una vez que tenga un marcador de posición de bloque de metadatos para su archivo, realice una solicitud PUT a la UploadURL devuelta desde la solicitud POST anterior. En su solicitud PUT , incluya lo siguiente en el encabezado:
-
"x-amz-server-side-encryption"con valor"AES256" -
"Content-Type"con el valor"application/pdf"
Punto final
https://api.bluebeam.com/publicapi/v1/sessions/{sessionId}/files/{id}/confirm-upload
Ejemplo de cURL
cURL [https://api.bluebeam.com/publicapi/v1/sessions/123-456-789/files/1234567/confirm-upload](https://api.bluebeam.com/publicapi/v1/sessions/123-456-789/files/1234567/confirm-upload) \
-H "Authorization: Bearer {valid access_token}" \
-H "client_id: [your client id]" \
-X POST
Respuesta
Si tiene éxito, obtendrá una respuesta 204 . Para ver los errores, consulte los códigos de respuesta HTML comunes en la parte inferior de nuestra Guía de autenticación .
Ahora que tiene una sesión con archivos PDF, es momento de agregar usuarios a la sesión. El iniciador de la sesión (el usuario actual) se convierte automáticamente en el anfitrión de la sesión y se agrega automáticamente a los usuarios de la sesión. Siempre se pueden agregar más usuarios mientras la sesión esté activa. Hay 2 métodos para agregar usuarios:
Este método es el mejor para invitar a usuarios que aún no tengan una cuenta de Studio. Se envía un correo electrónico al invitado con la oportunidad de la Creación de una cuenta de Studio gratuita.
Punto final
https://api.bluebeam.com/publicapi/v1/sessions/{sessionId}/invite
Parámetros
|
Nombre |
Descripción |
|---|---|
|
|
Dirección de correo electrónico para enviar la invitación a |
|
|
Mensaje personalizado que se muestra en el correo electrónico |
Ejemplo
cURL https://api.bluebeam.com/publicapi/v1/sessions/{session}/invite \
-H "Authorization: Bearer {token}" \
-H "Content-Type: Application/JSON" \
-H "client_id: {client_id}" \
-d '{
"Correo electrónico":"gavin.belson@hooli.com",
"Mensaje: «Únete a esta Sesión para revisar los documentos relativos a la adquisición de Pied Piper».
}' \
-X POST
Respuesta
Si tiene éxito, obtendrá una respuesta 204 . Para ver los errores, consulte los códigos de respuesta HTML comunes en la parte inferior de nuestra Guía de autenticación .
O
Este método es mejor si sabe que la dirección de correo electrónico ya está asociada a una cuenta de Studio y desea que se agregue a una sesión de Studio sin tener que suscribirse. Si el usuario no tiene una cuenta o no está seguro de tenerla, utilice el Método A: Invitar al usuario. Usando el Método B: Agregar usuario, el usuario se agrega a los asistentes de la Sesión de Studio, y la Sesión de Studio aparece debajo de sus Sesiones asistidas dentro del Tabulador Studio de la interfaz de Revu.
Punto final
https://api.bluebeam.com/publicapi/v1/sessions/{sessionId}/users
Parámetros
|
Nombre |
Descripción |
|---|---|
|
|
Dirección de correo electrónico de la cuenta de Studio conocida |
|
|
Booleano; Sí: enviar un correo electrónico al invitado, No: no enviar una notificación por correo electrónico al invitado |
|
|
Mensaje personalizado que se muestra en el correo electrónico |
Ejemplo
cURL [https://api.bluebeam.com/publicapi/v1/sessions/123-456-789/users](https://api.bluebeam.com/publicapi/v1/sessions/123-456-789/users)
-H "Authorization: Portador {valid access_token}" \
-H "Content-Type: Application/JSON" \
-H "client_id: [tu id de cliente]" \
-d '{
"Correo electrónico": "peter.gregory@raviga.com",
" SendEmail ": Sí,
" Message: «Según lo solicitado, esta es la sesión para revisar los documentos de adquisición de Pied Piper».
}' \
-X POST
Respuesta
Si tiene éxito, obtendrá una respuesta 204 . Para ver los errores, consulte los códigos de respuesta HTML comunes en la parte inferior de nuestra Guía de autenticación .
Ejemplo de correo electrónico de invitación a sesión
Para finalizar una sesión (normalmente esto se hace después de que los asistentes hayan terminado de marcar o se haya alcanzado la fecha de vencimiento de la sesión), se debe cambiar su estado, se deben tratar sus archivos y se debe desechar adecuadamente la sesión en sí.
Establecer el estado de una Sesión en Finalizando elimina todos los usuarios de la Sesión, excepto el host. Esto se hace para evitar cambios adicionales en los archivos de sesión después de que se descarguen.
Punto final
https://api.bluebeam.com/publicapi/v1/sessions/{id}
Ejemplo
cURL https://api.bluebeam.com/publicapi/v1/sessions/123-456-789 \
-H "Authorization: Bearer {valid access_token}" \
-H "Content-Type: Application/JSON" \
-H "client_id: [your client id]" \
-d '{"Status": "Finalizing"}' \
-X PUT
La descarga de los archivos de sesión marcados es un proceso de dos partes. Siga los pasos a continuación para cada archivo de la sesión.
i. Creación de una Instantánea
Durante una sesión, los archivos PDF y las marcas se almacenan por separado. Una Instantánea combina el contenido del PDF con la Capa de marcado en un solo PDF para que las Marcas se puedan ver en el PDF fuera de la Sesión de Studio.
Punto final
https://api.bluebeam.com/publicapi/v1/sessions/{sessionId}/files/{id}/snapshot
Ejemplo
cURL [https://api.bluebeam.com/publicapi/v1/sessions/123-456-789/files/1234567/snapshot](https://api.bluebeam.com/publicapi/v1/sessions/123-456-789/files/1234567/snapshot) \
-H "Authorization: Bearer {valid access_token}" \
-H "client_id: [your client id]" \
ii. Verificar el estado de la instantánea y descargarla si está completa.
Realice una solicitud GET al punto final de Instantánea hasta que el Status sea Complete o Error.
-
Si
Error: incluiremos un mensaje de error que se puede presentar al usuario. -
Si
Complete: useDownloadUrlpara descargar la instantánea
Punto final
https://api.bluebeam.com/publicapi/v1/sessions/{sessionId}/files/{id}/snapshot
Ejemplo
cURL [https://api.bluebeam.com/publicapi/v1/sessions/123-456-789/files/1234567/](https://api.bluebeam.com/publicapi/v1/sessions/123-456-789/files/1234567/)
-H "Authorization: Bearer {valid access_token}" \
-H "client_id: [your client id]" \
-X GET
Cuerpo de respuesta
{
"Status": "Complete",
"StatusTime": "{The last time the Status was changed}",
"LastSnapshotTime": "{Time of last successful Snapshot}",
"DownloadUrl": "{A download URL for the last successful Snapshot}"
}
Opciones de estado
|
Estado |
Descripción |
|---|---|
|
|
Cuando nunca se ha llamado a una instantánea en un archivo |
|
|
El trabajo de Instantánea aún no ha comenzado, pero recibimos la solicitud |
|
|
El trabajo de instantánea está en progreso |
|
|
El trabajo de Instantánea ha finalizado y se puede descargar a través de |
|
|
La tarea de instantánea falló. El estado incluirá un mensaje de error. |
Ahora que tiene los PDF marcados, puede eliminar la sesión enviando una solicitud DELETE al punto final de ID de sesión.
Punto final
https://api.bluebeam.com/publicapi/v1/sessions/{id}
Ejemplo para cerrar una sesión
cURL [https://api.bluebeam.com/publicapi/v1/sessions/123-456-789](https://api.bluebeam.com/publicapi/v1/sessions/123-456-789) \
-H "Authorization: Bearer {valid access_token}" \
-H "Content-Type: Application/JSON" \
-H "client_id: [your client id]" \
-X DELETE
Conclusión
Devolver el archivo a su ubicación de origen y archivar la sesión completa el ciclo de vida típico de una sesión de Studio. Si bien hay muchas formas diferentes de trabajar con Sesiones de Studio, esperamos que este tutorial le haya proporcionado una buena comprensión de los conceptos básicos.
Ver también:
Recursos
Revu 21
Developer Portal
Developer Portal
