...
The response contains the documents file-id fileId id
which can now be used to attach the document to the previously initiated contract session:
Code Block | ||
---|---|---|
| ||
curl '{baseurl}/api/v2/collaboration/contracts/contracts/sessions/{sessionId}/documents/attach' \ --request GETPOST \ -H 'Accept: application/json' \ -H 'x-user-id: {flexperto_account_id}' \ -H 'api-key: {Your.Api.Key}' \ --data '{"fileId": "12853e74-d2a0-4c38-867c-41edea7069a6"}' |
Synchronous Flow
TBDAs a response, you will obtain the Documents ID, which in turn you should keep a reference of:
Code Block |
---|
{
"id": 1362,
"name": "document-1.pdf",
"status": "ATTACHED",
"original_file_id": "12853e74-d2a0-4c38-867c-41edea7069a6",
"failure_reason": "",
"created_at": "2021-10-29T10:12:57+0200",
"updated_at": "2021-10-29T10:12:57+0200"
} |
Using the Endpoint GET {baseurl}/api/v2/collaboration/contracts/contracts/documents?sessionId={sessionId}
you can query for all the documents and check on their status at a later point in time. A few words about the status of a document, possible values are:
ATTACHED - The document has been attached to a session
UPLOADED - The related session has been handed over for signature / additional documents can not be attached to the session
UPDATED - The document has been changed within the signature session (eg. a signature has been placed)
FINISHED - All signatures have been placed on the document and the session has been finished
DELETED - The document has been deleted
FAILED - Only occurs for
ves
/qes
sessions. If the identification process as part of these sessions fails, the document will transition to the FAILED state, and the reason for failure will be populated infailure_reason
.
Once you have attached all documents that should be signed to the session, it is time to hand over the document for signature:
Code Block |
---|
curl '{baseurl}/api/v2/collaboration/contracts/contracts/sessions/{sessionId}/handover' \
--request GET \
-H 'Accept: application/json' \
-H 'x-user-id: {flexperto_account_id}' \
-H 'api-key: {Your.Api.Key}' |
The Response contains the link for the signing party. Flexperto does not deliver an email to that party, this is up to you:
Code Block |
---|
{
"url": "https://.../index?sessionid=2f887465f956b3d9fff7fe79&lang=de"
} |
Once the signing party has placed all signatures, the related contract sessions transaction_completed
property changes to true
.
Info |
---|
As of now, using the API individual Contract Sessions can not be obtained. We suggest, on a nightly basis, obtaining the full list of Contract Sessions and downloading contract data individually. |
There are several ways to obtain signed Documents:
Downloading the Archive of a Conference (see the Conference Archiving Section of this Documentation below)
Downloading the Signature Sessions Archive
Downloading individual documents
Downloading the Signature Sessions Archive
Using the documents-archive endpoint, you can download an Archive of the Signature Session:
Code Block |
---|
curl '{baseurl}/api/v2/collaboration/contracts/contracts/sessions/{sessionId}/documents-archive' \
--request GET \
-H 'Accept: application/json' \
-H 'x-user-id: {flexperto_account_id}' \
-H 'api-key: {Your.Api.Key}' |
As a response, you will receive a ZIP-File that contains all signed documents as well as an audit report. You can obtain the audit report individually using:
Code Block |
---|
curl '{baseurl}/api/v2/collaboration/contracts/contracts/sessions/{sessionId}/audit-report' \
--request GET \
-H 'Accept: application/json' \
-H 'x-user-id: {flexperto_account_id}' \
-H 'api-key: {Your.Api.Key}' |
Downloading Individual Documents
Once documents are signed, you can use the document download endpoint to download the signed version of a document:
Code Block |
---|
curl '{baseurl}/api/v2/collaboration/contracts/contracts/documents/{documentId}/download?signed=true' \
--request GET \
-H 'Accept: application/json' \
-H 'api-key: {Your.Api.Key}' |
Synchronous Flow
The Synchronous Flow works in a very similar way to the Asynchronous Flow. Notable differences are:
When initiating a Contract Session, in the request payload, you have to provide the
meeting_id
property, providing the id of the relatedmeeting
Be aware that the Contract Modal of your employee in the Meeting Room does not obtain live updates when you add documents. He has to close and open the Contract Modal again for obtaining live updates
Be aware that until you hand over a session via the API, your employee is able to attach additional documents to the Contract Session using the Contract Modal in the Meeting Room
For these reasons, we generally suggest that you request the new Meeting, then perform the API Calls to initiate the Contract Session, attach documents, and hand over the session, before redirecting your employee into the Meeting Room.
Be aware that once a Contract Session has been handed over, the Employee will be able to join the Contract Session and place additional signature fields on the documents. In this flow, it should also be the employees' responsibility to explain the documents to other participants and to hand them over to them for signature (you can ignore the Contract Session URL in this case)
Recording conferences
Flexperto affords experts to record conferences in one of two ways: automated, or manual. Administrators of a platform can enable either by toggling the enableAutomaticRecording
(for automatic) or enableRecordingVerbalConsent
(for manual) configuration settings. Note that these are mutually exclusive. Recordings include all streamed media (video, audio, shared screens) in one combined video file (codec information: video: h264, audio acc, format: mp4
).
...