How to sign documents online

This page will explain how to sign contract or pdf documents online using an e-signature provider plugged to the Particeep's API..

By using only one API you can take advantage of several signature service implementations under a simpler interface.
As well as new functionality add by us as the immediate obtaining of a signed document without waiting for a time of unarchiving taking several hours.
This enpoint allows you to switch e-signature provider easily if needed or for a backup need if the provider is down.
Each country as its own regulation regarding the e-signature. And providers may not cover all area in term process required by the regulators.
Standard process for electronic signature has at least an issuance of electronic certificates and a server stamp. Documents are as well archived.
Right now you can choose Universign who covers all European coutries. If you need to plug any other e-signature provider please contact our team.

1 - Create the signature

First, you must create a signature. You can upload directly a PDF file to sign or use this tutorial How to generate and fill a new document with Particeep API that will allow you to send user, deal and transaction information to a .docx file generated on the file using merged fields. The .docx file is then converted to PDF and ready to be signed. (POST) /v1/signature

				String url = "";
		String apiKey = "d6a53e1a-fc8e-4251-9dda-fabbce5f2a2c";
		String apiSecret = "9bb3c122-0272-4bed-a632-19d5d52c7b5e";
		// build authorization
		String dateTime = buildDateHeader();
		Map headers = new HashMap();
		headers.put("DateTime", dateTime);
		headers.put("Authorization", buildAuthorizationHeaderSafe(apiKey, apiSecret, dateTime));
		// build post body
		JsonNode signature = Json.newObject()
			.put("fileUrl", "") // file to sign
			.put("language", "fr_FR")
			.put("fileName", "contrat.pdf")
			.put("firstName", "Alexandre")
			.put("lastName", "LeGrand")
			.put("email", "")
			.put("phone", "+33123456789")
			.put("tag", "my custom tag")

		HttpResponse result = WS.url(url)
		String result = result.getString();

You'll then obtain the following JSON with a id/fileToSignUrl/external_id generated :

	  "id": "bae307b4-adfb-421b-99c3-9e3e29490389",
	  "created_at": "2018-01-09T16:46:25Z",
	  "language": "fr_FR",
	  "fileUrl": "",
	  "fileToSignUrl": "",
	  "fileName": "contrat.pdf",
	  "status": "READY",
	  "external_id": "a1c38070-f55c-31e7-9f0e-1102ae5c61a9",
	  "firstName": "Alexande",
	  "lastName": "LeGrand",
	  "email": "",
	  "phone": "+33123456789",
	  "tag": "my tag"

2 - Sign the document

Using the signature id you can then retrieve the previous information at any time, especially the signature's status or the URL used by the signature provider to sign the document : fileToSignUrl.
ex : (GET) /v1/signature/bae307b4-adfb-421b-99c3-9e3e29490389

Once the signature is created, you must go to the link indicated by the variable fileToSignUrl.
In the example the URL is (GET)
This URL will redirect the user to the e-signature provider page including the document to be signed.
After reading the doc, if the user wants to sign the document he will receive a SMS including a number that has to be filled in to confirm the signature (the process may be different for other e-signature providers).
signature screen

3 - Download the document signed

Once the document has been signed, you can download it by making a request on : (POST) /v1/signature/file/:id
or directly retrieve the link in the signature (GET) /v1/signature/:id
whose result now contains the signedFileUrl variable.

According to the e-signature provider, the file may be archived and you may need some time (several minutes or hours) to obtain the signed file after it's been unarchived. Thanks to the Particeep API, the file will be directly available on the first call because we make a copy of the signed file in our system in order the access it without any delay.