Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Currently, it is not possible to start an Instant Call with a group. A patch is currently in planning that will allow linking to a Groups Instant Call Process. Extended API functionality for identifying group availability, is planned to be available in Q4.

Signing Documents

The flexperto API provides functionalities required to sign a set of Documents. This functionality can be used to obtain Customer Signatures on, for example, contracts. Be aware that due to licensing limitations, you are not allowed to use the API for mass-signing processes. Fundamentally, you are allowed to integrate with the API and build a digital workflow to support your employees, but the workflow is required to be triggered by a human on a per customer/session basis. Mass-requesting of signature is not allowed.

There are two flows supported by the flexperto API:

  • Asynchronous Flow - Uploading and Preparing documents for a customer to be signed at a later point in time

  • Synchronous Flow - Uploading and Preparing documents for a customer to be signed as part of a flexperto session

In both cases, the Documents and their status will always be accessible by your employees through the flexperto Dashboard.

Asynchronous Flow

In the asynchronous flow, you start by initiating a new Contract Session. A Contract Session is a life-cycle container for multiple documents to be signed:

Code Block
languagebash
curl '{baseurl}/api/v2/collaboration/contracts/contracts/sessions/initiate' \
  --request POST \
  -H 'Accept: application/json' \
  -H 'x-user-id: {flexperto_account_id}' \
  -H 'api-key: {Your.Api.Key}' \
  --data '{"name": "Task-123 / Documents to be Signed", "method": "aes", "participants": [{"email": "john.doe@example.invalid", "firstname": "John", "lastname": "Doe", "mobile": "+49176123456789"}]}'
Info

The modes ves and qes require special configuration of your tenant as well as dedicated contractual frameworks and licensing. Please reach out to your account manager in order to validate if these modes are required for your business case / by your compliance environment.

Info

While you can use the name property to carry on referential metadata, be advised that both employees, as well as end-users, will see the session name in various places.

Info

While the participant's property is typed as an array, currently only one participant is supported. The endpoint requires user impersonation (via the x-user-id header) of the employee’s account that is owning the signature process

As a response, you will receive the Signature Sessions unique ID. Maintain this ID as a reference, as subsequent interactions require it:

Code Block
languagebash
{
    "id": 13,
    "expert_id": 45,
    "customer_id": 385,
    "name": "Task-123 / Documents to be Signed",
    "expert_email": "jane.doe@example.invalid",
    "expert_name": "Jane Doe",
    "customer_name": "John Doe",
    "customer_email": "john.doe@example.invalid",
    "method": "aes",
    "transaction_completed": false,
    "created_at": "2021-10-28T14:42:07.577Z",
    "updated_at": undefined,
    "deleted_at": undefined,
    "meta": {
      "foreign_session_id": "1a234567b891cd234ef5g67f"
    }
}

The meta field contains foreign_session_id, which in VES and QES use cases you can use to obtain the related identification data.

Once the Contract Session has been created, you can start attaching documents to it, which should be signed. Keep in mind that the flexperto API does not provide the means to place signature fields on your documents. Please ensure that your documents which should obtain one or several signatures, already include signature fields (consult the technical documentation of your PDF generation tool kit / SDK). In order to attach a document to a session, first, request an upload URL:

Code Block
languagebash
curl '{baseurl}/api/v2/collaboration/contracts/contracts/sessions/{sessionId}/documents/upload-url' \
  --request GET \
  -H 'Accept: application/json' \
  -H 'x-user-id: {flexperto_account_id}' \
  -H 'api-key: {Your.Api.Key}'

The response contains the upload URL:

Code Block
languagebash
{
    "url": "https://uploads.flexperto.com/api/v1/files/upload?token=eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJhdWQiOiJwb3J0dW51cyIsImlzcyI6Imx3czpib2lsZXJwbGF0ZSIsImp0aSI6IjYxN2FiZjhhNjk1NWE2LjYyMzE0NDY2IiwiZXhwIjoxNjM1NDM3OTc4LCJyb3V0aW5nS2V5IjoibHdzLmJvaWxlcnBsYXRlLmZpbGUudXBsb2FkZWQuY29udHJhY3Qub3JpZ2luYWwiLCJtZXRhZGF0YSI6eyJjb250cmFjdF9zZXNzaW9uX2lkIjo3OTI5fSwidmVyc2lvbiI6InYxIiwib3duZXIiOnsiYWNjb3VudF9pZCI6MjAsImFjY291bnRfcm9sZSI6ImV4cGVydCIsInRlbmFudCI6ImJvaWxlcnBsYXRlIn0sInRlbmFudCI6ImJvaWxlcnBsYXRlIiwiYXZhaWxhYmxlVW50aWwiOiIyMDIxLTExLTI4VDE3OjE5OjM4KzAxMDAifQ.CQAEVS7JuPXR1rmT1c3PBTYtR9zIKmOXPVSk7LIvM_TO5_sZtlpsydp6mPuArkrm7DcRfrCtlWz9R10HX_2GXaLwPQQEX3KkrwxnWzvXFc7_n3Mlc0SBq8YYOjMGBqMysQ7b4ur6yLTGkV_bl19XgDM9Tdze-oYlEOiS0a-aVOUV9pNXdghYDcabIKJXRkxGPShTwJH2LCtGNxgDgW0av6l1pGzscaGTMCiSjXE5o6SylmkJux69KrZzGbn-Pal3IHV1S2Lhu5AloZXtRNhFtsJmwnRQIM8cM-btAH8vSl74Cq053jbRhKdD4ua3ZnREQOAPBhMU2q5XLE2IeRK9F7-6FensTMxNJ1lAGkPLBMgDk4DdSbZXYbz0dT9ecnEijLfzjxsQqziuZRMOF2B0kAJRPXIW-WjGYOqgkTN2SO9GAwihAHA-oJOrlRt8lTP5IgVot5O5TEY9njW5zuEJSCfowSDhHvygVogzFwKY5G0uOJcUmnxGLvXJV5mRzkIcmQj4HQna9BVrkBz-OSbjqvP6Ho-t8QNmGnYDtFXYZDri9ZOUzUlStT052BGOfRM_O5zFgEhlgpSPfKdCo_2XYBLuoaxNfrTg78MFiZVq5pOYFVu0_C1EmbzipXw5B8JzLAaiKSnTJae6vRjjhE_QFcw_O2d0nHej13r5YETHMz0"
}

The URL can be used to upload documents to the flexperto file storage. It is valid for 1 hour. Keep in mind that currently up to 20 Documents with a total (not individual) size of 50MB are supported. Uploads are accepted as multipart/form-data:

Code Block
languagebash
curl -F file=@/path/to/document-1.pdf 'https://uploads.flexperto.com/api/v1/files/upload?token=eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJhdWQiOiJwb3J0dW51cyIsImlzcyI6Imx3czpib2lsZXJwbGF0ZSIsImp0aSI6IjYxN2FiZjhhNjk1NWE2LjYyMzE0NDY2IiwiZXhwIjoxNjM1NDM3OTc4LCJyb3V0aW5nS2V5IjoibHdzLmJvaWxlcnBsYXRlLmZpbGUudXBsb2FkZWQuY29udHJhY3Qub3JpZ2luYWwiLCJtZXRhZGF0YSI6eyJjb250cmFjdF9zZXNzaW9uX2lkIjo3OTI5fSwidmVyc2lvbiI6InYxIiwib3duZXIiOnsiYWNjb3VudF9pZCI6MjAsImFjY291bnRfcm9sZSI6ImV4cGVydCIsInRlbmFudCI6ImJvaWxlcnBsYXRlIn0sInRlbmFudCI6ImJvaWxlcnBsYXRlIiwiYXZhaWxhYmxlVW50aWwiOiIyMDIxLTExLTI4VDE3OjE5OjM4KzAxMDAifQ.CQAEVS7JuPXR1rmT1c3PBTYtR9zIKmOXPVSk7LIvM_TO5_sZtlpsydp6mPuArkrm7DcRfrCtlWz9R10HX_2GXaLwPQQEX3KkrwxnWzvXFc7_n3Mlc0SBq8YYOjMGBqMysQ7b4ur6yLTGkV_bl19XgDM9Tdze-oYlEOiS0a-aVOUV9pNXdghYDcabIKJXRkxGPShTwJH2LCtGNxgDgW0av6l1pGzscaGTMCiSjXE5o6SylmkJux69KrZzGbn-Pal3IHV1S2Lhu5AloZXtRNhFtsJmwnRQIM8cM-btAH8vSl74Cq053jbRhKdD4ua3ZnREQOAPBhMU2q5XLE2IeRK9F7-6FensTMxNJ1lAGkPLBMgDk4DdSbZXYbz0dT9ecnEijLfzjxsQqziuZRMOF2B0kAJRPXIW-WjGYOqgkTN2SO9GAwihAHA-oJOrlRt8lTP5IgVot5O5TEY9njW5zuEJSCfowSDhHvygVogzFwKY5G0uOJcUmnxGLvXJV5mRzkIcmQj4HQna9BVrkBz-OSbjqvP6Ho-t8QNmGnYDtFXYZDri9ZOUzUlStT052BGOfRM_O5zFgEhlgpSPfKdCo_2XYBLuoaxNfrTg78MFiZVq5pOYFVu0_C1EmbzipXw5B8JzLAaiKSnTJae6vRjjhE_QFcw_O2d0nHej13r5YETHMz0'

While the request is to be formatted in multipart/form-data, the response is formatted in JSON:

Code Block
{
    "id": "12853e74-d2a0-4c38-867c-41edea7069a6",
    "owner": {
        "account_id": {flexperto_account_id},
        "account_role": "expert",
        "tenant": "{your_tenant}"
    },
    "metadata": {
        "contract_session_id": {session_id}
    },
    "availableUntil": "2021-11-28T16:19:38.000Z",
    "name": "document-1.pdf"
}

The response contains the documents file-id id which can now be used to attach the document to the previously initiated contract session:

Code Block
languagebash
curl '{baseurl}/api/v2/collaboration/contracts/contracts/sessions/{sessionId}/documents/attach' \
  --request GET \
  -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

TBD

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).

...