How to add multiple signers to a document in Enterprise API

I’m trying to generate a signing order that would require two (or more) parties to sign the document before it is marked complete.

My guess is this has to be done by providing a signing task for both (/ all) parties. Do I then just create a packaging task to bundle both signed documents into a single document? How do I get a single bundle with both parties signatures?

Can such a url be generated during the creation of the signing order - so it could be sent with a some notification to the parties?

Hi Mats,
Yes you are correct, we utilize tasks to separate the different signees.
The notification schedule will dictate the notifications for the signees, here a mail with an URL will be sent to “insert.recipient@mail.com”.

 "tasks": [
    {
      "id": "task1",
      "profile": "default",
      "documents": [
        {
          "id": "doc1",
          "action": "SIGN",
          "source": "SESSION",
          "description": "description",
          "documentRef": "{{document_id}}"
        }
      ],
      "signatureMethods": [
        {
          "name": "nbid",
          "type": "AUTHENTICATION_BASED"
        }
      ],
    "notifications": [
        {
          "id": "not1",
          "recipient": "insert.recipient@mail.com",
          "sender": "signicat@signicat.com",
          "header": "Signingorder created",
          "message": "Signing order sent to Ginny. ${taskUrl}",
          "type": "EMAIL",
          "schedule": [
            {
              "triggerStatus": "CREATED"
            }
          ]
        }
      ]
    },
    {
      "id": "task2",
      "profile": "default",
      "documents": [
        {
          "id": "doc2",
          "action": "SIGN",
          "source": "SESSION",
          "description": "description",
          "documentRef": "{{document_id}}"
        }
      ],
      "signatureMethods": [
        {
          "name": "nbid",
          "type": "AUTHENTICATION_BASED"
        }
      ],
    "notifications": [
        {
          "id": "not2",
          "recipient": "insert.recipient@mail.com",
          "sender": "signicat@signicat.com",
          "header": "Signingorder created",
          "message": "Signing order sent to Ginny. ${taskUrl}",
          "type": "EMAIL",
          "schedule": [
            {
              "triggerStatus": "CREATED"
            }
          ]
        }
      ]
    },
    "packagingTasks": [
       {
            "id": "packagingtask-1",
            "sendToArchive": true,
            "method": "pades",
            "documents": [
                {
                    "taskId": "task1",
                    "documentIds": [
                        "doc1"
                    ]
                },
                {
                    "taskId": "task2",
                    "documentIds": [
                        "doc2"
                    ]
                }
            ]
        }
    ]
}

Using GET https://preprod.signicat.com/sign/orders/{{order_id}}/packaging-tasks/packagingtask-1/result

will get you the packaged document, just remember to save it as an .pdf

So based on your answer I get the feeling you’ll have to poll for the packaged document. Isn’t there anything similar to onTaskComplete in tasks ? I guess packagingTasks/notifications/type = URL could be used. But message formatting doesn’t seem to be supported for packagingTasks/notifications - so order id and packaging task id are unknown when sending the notification.

“onTaskComplete” in “tasks” is where you redirect the end-user after the signing, I would strongly recommend against using that as a notification device.

You can setup the notifications in the packaging task, and in our API reference you can see an example on this: Sign REST API (v1) | Developer Pages

When you are using type = URL you can not use message-formatting.
But if you set up packagingTasks/notifications you will get requestId (order id) and packagingtaskId returned when the signing is completed.

Tried using packagingTasks/notifications/type = URL. Is it enabled on preprod.signicat.com ?

It is, do you get an error message of some kind?

We do need to whitelist the notification URL in our proxy for it to work.
You can use https://webhook.site as an already whitelisted solution.