In person signatures
In person signatures
Imagine your application is used by a salesperson when they are face to face with a customer and an immediate signature is required, for example, to subscribe to a service or to confirm a purchase.
In this case, the salesperson can use your application to create a signature request and then hand over the device to the customer to sign the document, immediately closing the deal.
Doing this using the Box web application, for example from a template, is very straightforward. You set the signer or signers email so they can receive a copy of the signed document, flag them as in person, and as soon as you send the request, the Sign interface opens requesting the signature for the first signer, then for the second signer, and so on.
In order to use this within your application, you need to create a signature
request with the is_in_person
flag set to true
for each signer.
However because your application needs to show the Sign interface to the
signer, you also need to use the embed_url_external_user_id
so that you get
back the embedded URLs, and then either open a browser window or use an iframe
to display the signature interface.
Create an in person signature request
Let's use a template with a single signer as an example:
curl --location 'https://api.box.com/2.0/sign_requests' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer Le...Cb' \
--data-raw '{
"template_id": "ee9a689e-96b6-4076-92a0-b9b765eb09ca",
"parent_folder": {
"id": "234102987614",
"type": "folder"
},
"signers": [
{
"email": "signer@example.com",
"role": "signer",
"is_in_person": true,
"embed_url_external_user_id": "1234"
}
]
}'
Resulting in (simplified):
{
"signers": [
{
"email": "sender@example.com",
"role": "final_copy_reader",
"is_in_person": false,
},
{
"email": "signer@example.com",
"role": "signer",
"is_in_person": true,
"embed_url_external_user_id": "1234",
"embed_url": "https://app.box.com/sign/document/...",
"iframeable_embed_url": "https://app.box.com/embed/sign/document/..."
}
],
"id": "a9159d31-d2fb-4e88-9306-02c00de013d1",
"parent_folder": {
"id": "234102987614",
"type": "folder",
"name": "signed docs"
},
"name": "Simple-PDF (1).pdf",
"type": "sign-request",
"status": "created",
"template_id": "ee9a689e-96b6-4076-92a0-b9b765eb09ca"
}
Notice the embed_url
and iframeable_embed_url
in the response. Now when we
browse to the embed URL, you see the signature interface:
Once finished the signer will receive a copy of the signed document via their email.
Multiple in person signers
As long as the signer is flagged as is_in_person
, the signing interface
cycles through all the signers in the request.
For example, if you add a second signer to the request:
curl --location 'https://api.box.com/2.0/sign_requests' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer Le...Cb' \
--data-raw '{
"template_id": "ee9a689e-96b6-4076-92a0-b9b765eb09ca",
"parent_folder": {
"id": "234102987614",
"type": "folder"
},
"signers": [
{
"email": "signer_a@example.com",
"role": "signer",
"is_in_person": true,
"embed_url_external_user_id": "1234"
},
{
"email": "signer_b@example.com",
"role": "signer",
"is_in_person": true
}
]
}'
Results in (simplified):
{
"signers": [
{
"email": "sender@example.com",
"role": "final_copy_reader",
"is_in_person": false,
},
{
"email": "signer_a@example.com",
"role": "signer",
"is_in_person": true,
"embed_url": "https://app.box.com/sign/document/...",
"iframeable_embed_url": "https://app.box.com/embed/sign/document/..."
},
{
"email": "signer_b@example.com",
"role": "signer",
"is_in_person": true,
"embed_url": null,
"iframeable_embed_url": null
}
],
"id": "d066575f-f22b-42fc-b9e2-701468776475",
"parent_folder": {
"id": "234102987614",
"type": "folder",
"name": "signed docs"
},
"name": "Simple-PDF (3).pdf",
"type": "sign-request",
"status": "created",
"template_id": "ee9a689e-96b6-4076-92a0-b9b765eb09ca"
}
Browsing to the embedded URL shows the signature interface for the first signer:
Once the first signer has signed, the signature interface automatically switches to the second signer: